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