分享
  1. 首页
  2. 文章

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

KunZhen · · 3344 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

一、准备工作
二、环境配置
三、提交更新并自动部署到服务器,测试地址:http://182.61.57.121:8000

一、准备工作

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

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

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

    代码.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,下面会截图配置过程。

1.gitlab设置runner.jpg

2.云服务器注册runner

2.服务器配置.png

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

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

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

3.2.等待Job任务完成.png
4.查看job执行任务过程.png

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

4.测试结果.png

扩展:通过践行GitFlow工作流常用操作流程,可以有一套方便且高效的系统持续集成方案。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:KunZhen

查看原文:GitLab+Docker快速搭建CI/CD自动化部署

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
3344 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏