完成Boathouse流水线搭建并部署到DEV环境

在前面的文档中,我们已经部署好Jenkins的流水线,接下来将部署Boathouse的Dev环境所使用的虚拟机。 我们将会在云资源的另外一台虚拟机 Docker VM 上部署团队自己的Dev环境:

DEV环境虚拟机配置

登录虚拟机

使用ssh登录vm1

  1. ## 如果使用DevOps实验室环境,请使用实验室环境资源中提供的用户名
  2. ## 我们提供了2台VM,请自行决定2台VM的角色
  3. ssh <username>@<ip/hostname>

安装Docker和Docker-Compose工具

  1. ## 更新包管理数据库
  2. sudo apt-get update
  3. ## 安装docker
  4. sudo apt install docker.io
  5. sudo usermod -a -G docker {你当前的登录用户名}
  6. ## 安装docker-compose
  7. ### docker-compose 官方安装地址(如果此地址安装不成功,请使用以下国内镜像地址)
  8. sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  9. ## docker-compose 国内镜像
  10. sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  11. sudo chmod +x /usr/local/bin/docker-compose
  12. ## 启动 docker 服务
  13. sudo systemctl daemon-reload
  14. sudo systemctl restart docker
  15. ## 设置 docker 用户权限
  16. sudo groupadd docker
  17. sudo gpasswd -a $USER docker
  18. newgrp docker

运行完以上命令重新登陆虚拟机,并执行以下命令,测试Docker是否安装成功

  1. docker --version
  2. docker-compose --version

导入Boathouse前后端代码流水线配置

  1. 进入jenkins首页,点击进入左侧菜单栏中 open blue ocean 的菜单

image.png

  1. 进入后,根据提示,点击下方的按钮,创建流水线 image.png

  2. 仓库类型选择 git,如下图所示:

image.png

  1. 获取仓库地址,如下图所示:

image.png

  1. 输入boat-house-frontend仓库地址,并点击创建流水线,如下图所示:

image.png

  1. 流水线创建中

image.png

  1. 流水线创建成功,但是会提示找不到Jenkinsfile

image.png

  1. 点击配置按钮,修改jenkinsfile默认地址:

image.png

  1. 脚本路径改为:devops/jenkins/jenkinsfile

image.png

  1. 保存后流水线自动启动,等待构建完成后查看结果

image.png

  1. 由于目前还没有配置Test和Production环境,并且Jenkins中只有一个代理,因此我们需要讲后面的部署取消掉,然后跑后台应用流水线

image.png

  1. 按照同样的方式完成boat-house-backend仓库的导入以及配置。

启动master分支构建

  1. 点击master分支后面的构建button,启动构建 image.png
  2. 构建过程中查看输出情况 image.png

查看部署结果

Dev环境部署完毕,打开以下链接,查看部署结果:

  1. Client Web http://{vm-dev ip address}:5000 image.png
  2. Management Web http://{vm-dev ip address}:5001 image.png
  3. Product Service AP Swagger UI http://{vm-dev ip address}:7001/api/v1.0/swagger-ui.html image.png

注意:暂时没有提供k8s集群环境,所以大家暂时不要部署测试以及生产环境