当前位置:   article > 正文

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目_jenkins pipeline发版前端

jenkins pipeline发版前端

前言

本节内容我们使用另外一种方式pipeline实现项目的流水线部署发布,Jenkins Pipeline是一种允许以代码方式定义持续集成和持续交付流水线的工具。通过Jenkins Pipeline,可以将整个项目的构建、测试和部署过程以脚本的形式写入Jenkinsfile中,实现对整个流程的可视化管理和控制。在 Jenkins Pipeline中,可以定义不同的阶段(stage)、步骤(step)、参数(parameters)、环境变量(environment variables)等,以实现自动化构建、测试和部署过程。还可以通过条件判断、循环等控制结构来实现流水线的灵活控制。

正文

①创建一个流水线pipeline方式的项目

②填写描述信息和构建的策略,此步骤可跳过

③ 使用流水线的Pipeline script方式构建一个maven项目

- 构建脚本

  1. pipeline {
  2. agent any
  3. stages {
  4. stage('拉取代码') {
  5. steps {
  6. echo '========================拉取代码========================'
  7. checkout([
  8. $class: 'GitSCM',
  9. branches: [[name: '*/master']],
  10. doGenerateSubmoduleConfigurations: false,
  11. extensions: [],
  12. submoduleCfg:[],
  13. userRemoteConfigs: [[credentialsId: 'gitee', url:'https://gitee.com/northcangap/ht-atp.git']]
  14. ])
  15. }
  16. }
  17. stage('编译构建') {
  18. steps {
  19. echo '========================编译构建========================'
  20. sh 'cd ht-atp-security && mvn clean package -Dmaven.test.skip=true'
  21. }
  22. }
  23. stage('部署安装') {
  24. steps {
  25. echo '========================部署安装========================'
  26. sshPublisher(
  27. continueOnError: false,
  28. failOnError: true,
  29. publishers: [
  30. sshPublisherDesc(
  31. configName: "ht-atp",
  32. transfers: [
  33. sshTransfer(
  34. sourceFiles: "ht-atp-security/target/*.jar",
  35. removePrefix: "ht-atp-security/target",
  36. remoteDirectory: "/pipeline",
  37. execCommand: "cd /ht/pipeline && sh start.sh",
  38. execTimeout: 12000
  39. )
  40. ]
  41. )
  42. ]
  43. )
  44. }
  45. }
  46. }
  47. }

- 使用git拉取代码

- 使用maven命令构建项目

- 使用sshPublisher组件将构建好的项目发布到远程服务器

④ 点击立即构建,构建该流水线项目

⑤查看构建的流水线项目日志

⑦ 访问项目

⑧方式二:流水线使用Pipeline script from SCM方式创建,配置源码地址

⑨ 配置Jenkinsfile流水线脚本路径

⑩ 在项目的源码路径下创建一个Jenkinsfile文件,文件内容同上,并上传到源码库,构建时,会使用此文件完成流水线项目的发布

⑪同样也可以部署发布成功,一般更推荐使用方式二实现

⑫ 关于pipeline的流水线语法可参考其提供的DSL流水线语法

⑬ 前端vue项目的部署脚本

  1. pipeline {
  2. agent any
  3. stages {
  4. stage('拉取代码') {
  5. steps {
  6. echo '========================拉取代码========================'
  7. checkout([
  8. $class: 'GitSCM',
  9. branches: [[name: '*/master']],
  10. doGenerateSubmoduleConfigurations: false,
  11. extensions: [],
  12. submoduleCfg:[],
  13. userRemoteConfigs: [[credentialsId: 'gitee', url:'https://gitee.com/northcangap/ht-atp.git']]
  14. ])
  15. }
  16. }
  17. stage('编译构建') {
  18. steps {
  19. echo '========================编译构建========================'
  20. sh 'cd ht-atp-app && npm i -f && npm run build'
  21. }
  22. }
  23. stage('部署安装') {
  24. steps {
  25. echo '========================部署安装========================'
  26. sshPublisher(
  27. continueOnError: false,
  28. failOnError: true,
  29. publishers: [
  30. sshPublisherDesc(
  31. configName: "ht-atp",
  32. transfers: [
  33. sshTransfer(
  34. sourceFiles: "ht-atp-app/dist/**",
  35. removePrefix: "ht-atp-app/dist",
  36. remoteDirectory: "/pipeline/ht-app"
  37. )
  38. ]
  39. )
  40. ]
  41. )
  42. }
  43. }
  44. }
  45. }

结语

至此,关于jenkins流水线使用pipeline方式发布项目的内容到这里就结束了,我们下期见。。。。。。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/267382
推荐阅读
相关标签
  

闽ICP备14008679号