Issue
PHP package are install through Jfrog artifact URL using composer.json file. Need to get PHP package using composer install command inside docker container. This docker container manage by Jenkins pipeline. WHen I am doing locally it asked username and password on terminal
[email protected] [ application ]$ composer update
Loading composer repositories with package information
Authentication required (example.jfrog.io):
Username: example
Password:
Do you want to store credentials for example.jfrog.io in /home/vagrant/.composer/auth.json ? [Yn] y
Then it stored auth value under /home/vagrant/.composer/auth.json
similar thing need to do in docker while deployment. what is way to do this ?
Solution
I got answer finally!
Jfrogtoken
is configured under your Jenkins portal for token values.
Jenkins file you can add like this
withCredentials([string(credentialsId: 'Jfrogtoken', variable: 'secret')]) {
jfrog_user = 'username'
jfrog_token = $secret
}
Pass this to docker file using --build-arg
like
--build-arg jfrog_user=$jfrog_user --build-arg jfrog_token=$jfrog_token
Then you will received this params in Dockerfile under ARG
value.
Then run this command before composer install
.
portal-url will be your jfrog account like example.jfrog.io
composer config --global http-basic.portal-url $jfrog_user $jfrog_token
Answered By - aviboy2006
Answer Checked By - Mildred Charles (JavaFixing Admin)