美文网首页
GoCD 整行记(五):部署应用

GoCD 整行记(五):部署应用

作者: 小麻烦它爹 | 来源:发表于2021-04-03 22:08 被阅读0次

上篇文章我们已经构建好应用 docker 镜像,并且将 docker 镜像推送到 DockerHub 仓库了。

这篇文章我们将完成最后一步,将应用部署到服务器上去。

功能梳理

要将 docker 镜像部署到服务器,其实很简单: 使用 ssh 登录到服务器,然后执行部署命令即可

  1. 我们选择 docker-compose 用来部署 docker 镜像,需要在服务器上安装 docker-compose 命令,这里有安装方法

  2. docker-compose 需要一个 docker-compose.yml 文件

  3. pipeline 中新增一个阶段 deploy ,用于执行远程部署脚本

  4. 我们将相关脚本都放入一个 Git 项目中,让 pipeline 在执行时自动获取相关代码

    参考 https://github.com/hezhong0711/gocd-devops-demo

新建 Materias

  1. 进入 pipeline 的 Materias 管理界面

    Materias 管理界面
  2. 点击 Add Materias 按钮

    • Material Type: Git
    • Repository URL: https://github.com/hezhong0711/gocd-devops-demo
    • Repository Branch: main
    • Alternate Checkout Path: gocd-devops-demo
    • Repository polling behavior: 勾选第二个 Fetch updates to this repository only on webhook or manual trigger
      • 这个选项指定 pipeline 在手动触发执行时才去拉取最新的代码,而不会在有代码更新时自动触发 pipeline 执行
        配置 Materias 1
        配置 Materias 2
  3. 点击 Save 按钮保存配置

修改流水线配置

添加阶段 deploy

  1. 进入 Stage 配置界面

    Stage 配置界面
  2. 点击 Add new stage 按钮

    此阶段需要执行两个任务

    1. docker-compose.yml 文件复制到服务器上
    2. 执行 docker-compose 命令,部署服务

    配置如下

    • Command: ./script/copy-deploy-file.sh 此脚本用于远程拷贝文件

    • Arguments: 此脚本需要两个参数,第一个是要拷贝的文件路径,第二个是远程服务器路径

      ./docker-compose/docker-compose.yml 
      /root/docker-compose.yml
      
    • Working Directory: gocd-devops-demo, 这个是代码的下载路径


      添加 Stage
  3. 点击 Save 按钮保存配置

    新增 Stage 结果
  4. 进入 TASKS 配置界面,添加第二个任务

    • 选中 Custom Command,点击 Add Task 按钮

      TASKS 配置界面
    • Command: ./script/deploy.sh 此脚本会在服务器上部署应用

    • Working Directory: gocd-devops-demo

      Tasks 配置界面
  5. 点击 Save 按钮保存配置

    配置结果

配置环境变量

deploy 阶段中执行的脚本需要登录远程服务器,我在脚本中时通过环境变量的方式获取到远程服务器的 hostusernamepassword,因此,我们需要给任务添加相应的环境变量

  1. 进入环境变量配置界面
  2. 点击 Secure Variables 下的 + Add 按钮
    • 添加 SERVER_USERNAME 变量,后面输入服务器的 ssh 用户名
    • 添加 SERVER_HOST 变量,后面输入服务器的域名或者 IP 地址
    • 添加 SERVER_PASSWORD 变量,后面输入服务器的 ssh 登录密码
  3. 点击 SAVE 按钮,保存配置
    环境变量配置界面

运行流水线

  1. 查看运行结果


    运行结果
  2. 查看日志


    运行日志
  3. 登录服务器查看应用是否部署成功

总结

至此,一条从代码提交应用部署的完整流水线就算完成了。本系列文章详细的介绍了从 GoCD 环境搭建到流水线配置的完整流程,希望对各位有所帮助。

相关文章

网友评论

      本文标题:GoCD 整行记(五):部署应用

      本文链接:https://www.haomeiwen.com/subject/eowhkltx.html