为了账号安全,请及时绑定邮箱和手机立即绑定

GitLab+Docker快速搭建CI/CD自动化部署

标签:
Docker
一、准备工作
  • 1.1. gitlab环境

  • 1.2. 装有dockergitlab-runner环境的云服务器(这里用到CentOS 7 64位

  • 1.3. 项目代码

  • 1.4. Dockerfile

  • 1.5. .gitlab-ci.yml

二、环境配置

  • 2.1. 为项目注册执行部署任务的Runner服务器

  • 2.2. 云服务器注册runner

三、提交更新并自动部署到服务器,测试地址:http://182.61.57.121:8000

  • 3.1. 提交代码到git master分支

  • 3.2. 等待Job任务完成

  • 3.3 测试结果

一、准备工作

  1. gitlab环境(为了方便,使用官方的托管仓库)

  2. 装有dockergitlab-runner环境的云服务器(这里用到CentOS 7 64位

  3. 项目代码,这里我使用Golang作为开发语言,其它开发语言也一样的操作流程

    webp

    代码.png


  4. Dockerfile文件

# 镜像文件FROM golang:latest# 维修者MAINTAINER Razil "412657308@qq.com"# 镜像中项目路径WORKDIR $GOPATH/src/kun.com/cicd-demo# 拷贝当前目录代码到镜像COPY . $GOPATH/src/kun.com/cicd-demo# 制作镜像RUN go build .# 暴露端口EXPOSE 8000# 程序入口ENTRYPOINT ["./cicd-demo"]
  1. .gitlab-ci.yml文件,语法查看

stages:
  - deploy

docker-deploy:
  stage: deploy  # 执行Job内容
  script:    # 通过Dockerfile生成cicd-demo镜像
    - docker build -t cicd-demo .    # 删除已经在运行的容器
    - if [ $(docker ps -aq --filter name= cicd-demo) ]; then docker rm -f cicd-demo;fi
    # 通过镜像启动容器,并把本机8000端口映射到容器8000端口
    - docker run -d -p 8000:8000 --name cicd-demo cicd-demo
  tags:    # 执行Job的服务器
    - kun
  only:    # 只有在master分支才会执行
    - master

二、环境配置

1. 为项目注册执行部署任务的Runner服务器

因为我已经配置过了,所以下面面有runner,runner的标签是多runner执行任务时区分的标识,后面部署过程我会使用标签为kun而不是test服务器来执行job,下面会截图配置过程。

webp

1.gitlab设置runner.jpg


2.云服务器注册runner

webp

2.服务器配置.png

三、提交更新并自动部署到服务器

runner注册成功后,通过git命令提交更新到master分支,只要master分支有修改,都会执行Job的任务。

webp

3.1.提交代码到git master分支.png


webp

3.2.等待Job任务完成.png

webp

4.查看job执行任务过程.png

此时,通过链接http://182.61.57.121:8000可以看到服务器已经部署代码并且可以正常访问了。

webp

4.测试结果.png



作者:IT科技互联
链接:https://www.jianshu.com/p/c398509f8861

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消