title: PHP - CODING 帮助中心
pageTitle: PHP
pagePrevTitle: 安装 Maven 依赖包
pagePrev: ci/depend/maven.html
pageNextTitle: 增量检查代码规范
pageNext: ci/lint/jenkins-git-diff.html
alias: ci/depend/php.html
PHP 有两种常用扩展依赖包:
C 扩展:使用 pecl 安装;
PHP 扩展:使用 composer 安装;
pecl
PHP 可使用 docker-php-ext-install
或 pecl
命令安装扩展:
pipeline {
agent {
docker {
reuseNode 'true'
registryUrl 'https://coding-public-docker.pkg.coding.net'
image 'public/docker/php:8.0'
args '-v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker'
}
}
stages {
stage('安装依赖') {
steps {
sh 'apt-get update && apt-get install -y libbz2-dev'
sh 'docker-php-ext-install bz2'
sh 'php -i | grep bz2'
sh "pecl install imagick"
sh 'docker-php-ext-enable imagick'
sh 'php -i | grep imagick'
}
}
}
}
composer 公共制品库 Packagist 在海外,内地用户访问可能很慢,建议切换为腾讯云镜像: composer config -g repos.packagist composer https://mirrors.cloud.tencent.com/composer/
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
使用私有制品库需先获得用户名/密码。
composer.json
进入 PHP 项目目录,设置制品库地址:
composer config repos.private-composer composer https://codes-farm-composer.pkg.coding.net/composer-demo/private-composer
可以看到 composer.json
发生了变化,将它提交到代码库。
auth.json
进入 PHP 项目目录,设置制品库用户名/密码:
composer config http-basic.codes-farm-composer.pkg.coding.net pt03xe33nvww 0ad2d123456
可以看到生成了 auth.json
,将它忽略掉,不要提交到代码库。
本地安装私有包:
composer require codes-farm/socialite-providers:0.3.0
然后将 composer.lock
提交到代码库。
把用户名/密码填入环境变量:
pipeline {
agent {
docker {
reuseNode 'true'
registryUrl 'https://coding-public-docker.pkg.coding.net'
image 'public/docker/php:8.0'
args '-v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker'
}
}
stages {
stage('检出') {
steps {
checkout([$class: 'GitSCM', branches: [[name: env.GIT_BUILD_REF]],
userRemoteConfigs: [[url: env.GIT_REPO_URL, credentialsId: env.CREDENTIALS_ID]]])
}
}
stage('安装依赖') {
steps {
sh "composer config http-basic.codes-farm-composer.pkg.coding.net ${CODING_ARTIFACTS_USERNAME} ${CODING_ARTIFACTS_PASSWORD}"
sh "composer install"
}
}
}
}
==== 2021/06/18 ====
本页内容是否解决了您的问题?