I'm having sort of a weird problem with my Jenkins pipeline. I've defined a Dockerfile which installs some tools I need for my CI/CD pipeline, such as node, npm, sfdx, and sfpowerkit (a plugin for sfdx). This is the Dockerfile:
FROM node:14.14-alpine
#add usefull tools
RUN apk add --update --no-cache \
git \
findutils \
bash \
unzip \
curl \
wget \
nodejs-npm \
openjdk8-jre \
openssh-client \
perl \
jq
# install Salesforce CLI from npm
RUN npm install sfdx-cli --global
RUN sfdx --version
# install sfpowerkit - https://github.com/Accenture/sfpowerkit
RUN echo y | sfdx plugins:install sfpowerkit
RUN sfdx plugins
My Jenkinsfile is pretty simple as well:
pipeline {
agent {
dockerfile true
}
stages {
stage("build") {
steps {
echo "build step"
sh 'node --version'
sh 'npm --version'
sh "sfdx --version"
sh "sfdx plugins --core"
sh "sfdx plugins"
sh "sfdx commands"
sh 'sfdx sfpowerkit --help' <-- this command fails
}
}
}
}
The problem is that even though I install the plugin sfpowerkit and it shows on the job output that it was successfully installed, the plugin is not available inside the build stage.
This is during the Dockerfile image construction:
And this is during the build stage on the pipeline:
I can't find out what the problem is, and why the plugin is not available after constructing the container through the Dockerfile.
Would anyone be kind to help?
Thank you!!
EDIT 4 Sep:
This is the job output: https://justpaste.it/4jnjn