Jenkinsfile 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /**
  2. * Jenkinsfile 示例代码
  3. * 拷贝使用要记得修改agent和steps内执行项目
  4. */
  5. pipeline {
  6. agent none
  7. stages {
  8. // 生产
  9. stage('prod') {
  10. // 自动构建项目根目录下的 Dockerfile 文件,并使用其为运行容器
  11. agent { dockerfile true }
  12. // 当分支为master的时候执行
  13. when {
  14. branch 'master'
  15. }
  16. // 一些额外的选项
  17. options {
  18. // 失败则重试三次
  19. retry(3)
  20. }
  21. steps {
  22. // 在容器中执行 shell
  23. sh 'composer'
  24. // 在jenkins输出中打印信息
  25. echo '一些有用的信息'
  26. }
  27. }
  28. // 测试环境
  29. stage('test') {
  30. // 使用 docker 镜像 php:7.4-cli 为运行容器
  31. agent { docker 'php:7.4-cli' }
  32. when {
  33. branch 'test'
  34. }
  35. steps {
  36. sh 'php --version'
  37. }
  38. }
  39. // 生产环境
  40. stage('dev') {
  41. // 在任何可用的代理上执行流水线或阶段,没有多节点的情况下其实就是直接执行shell啦。。
  42. agent any
  43. when {
  44. branch 'dev'
  45. }
  46. steps {
  47. sh 'echo Jenkins Test'
  48. }
  49. }
  50. // 没有when也就是任意时候都会执行
  51. stage('after build') {
  52. agent any
  53. steps {
  54. echo 'Always excecute after other stages.'
  55. }
  56. }
  57. }
  58. // 根据执行结果执行
  59. post {
  60. // 失败
  61. failure {
  62. echo 'FAILURE MESSAGE'
  63. }
  64. // 成功
  65. success {
  66. echo 'SUCCESS MESSAGE'
  67. }
  68. }
  69. }