/** * Jenkinsfile 示例代码 * 拷贝使用要记得修改agent和steps内执行项目 */ pipeline { agent none stages { // 生产 stage('prod build') { // 自动构建项目根目录下的 Dockerfile 文件,并使用其为运行容器 agent { dockerfile true } // 当分支为master的时候执行 when { branch 'master' } // 一些额外的选项 options { // 失败则重试三次 retry(3) } steps { // 在容器中执行 shell sh 'composer' // 在jenkins输出中打印信息 echo '一些有用的信息' } } // 测试环境 stage('test build') { // 使用 docker 镜像 php:7.4-cli 为运行容器 agent { docker 'php:7.4-cli' } when { branch 'test' } steps { sh 'php --version' } } // 生产环境 stage('dev build') { // 在任何可用的代理上执行流水线或阶段,没有多节点的情况下其实就是直接执行shell啦。。 agent any /* agent { docker { image 'php:8.2-cli' lable: 'develop-server' // 在lable为xxx的节点对应docker容器运行 args: ' --verbose' // 额外的docker参数 } } */ when { branch 'dev' } steps { sh 'echo Jenkins Test' } } // 没有when也就是任意时候都会执行 stage('after build') { agent any /* agent { lable: 'maybe-server' } // 在lable为xxx的节点上运行 */ steps { echo 'Always excecute after other stages.' } } } // 根据执行结果执行 post { // 失败 failure { echo 'FAILURE MESSAGE' } // 成功 success { echo 'SUCCESS MESSAGE' } } }