我是本际云服务器推荐网的小编小本本。CI/CD虽然不难,但需要了解的概念比较多,配置过程中也有很多坑。下面按照步骤来讲一下CI/CD的配置过程。

一、准备工作
在使用Gitlab的CI/CD之前,需要准备好Gitlab和Gitlab-runner,还需要有一个项目,在本案例中使用的是myweb项目。
此外,需要在本机上安装Git、以及docker私有仓库和Gitlab-runner。
公司的代码一般保存在私有化部署的Gitlab,为了使用Gitlab的CI/CD,Gitlab的版本需要>8.0.0。
二、入门CI实战
1、安装、注册Gitlab-runner。可以进入Gitlab->CICD->Runner,查看当前可用的runner。该项目可用的runner在左边,但需要激活一下。右边为共享的runner,可以直接使用。在.gitlab-ci.yml中使用tags和runner的tags关联。
2、运行CI任务。首先在项目的根目录下新建.gitlab-ci.yml,然后在该文件中配置pipeline的任务。一个最简单的.gitlab-ci.yml文件如下:
image: "node"
stages:
- BuildImage
before_script:
- echo "before_script"
- echo "This job deploys something from the $CI_COMMIT_BRANCH branch."
- echo "Hello, $GITLAB_USER_LOGIN!"
build:
tags: - test
stage: BuildImage
image: "node"
script: - node -v
然后提交代码,进入gitlab->CI/CD页面,就能看到pipeline的状态是stuck。
3、使用Gitlab-runner执行pipeline。修改.gitlab-ci.yml文件,仅展示部分。修改tags为对应的runner的标签,然后提交代码。进入CI/CD页面,可以看到新增了一条pipeline执行完成。点击新的记录,可以看到Gitlab-runner执行.gitlab-ci.yml的具体信息。
三、项目实战
配置构建Docker镜像。
1、在项目中添加Dockerfile文件和Nginx配置文件。具体可以参考参考文献1。
2、配置文件。使用variables定义全局变量,包括镜像名称和命名空间。在stages中定义BuildImage任务,构建docker镜像,并且使用only限定什么情况下会触发CI。
3、注意事项。公司安全性考虑,很多情况下不会将镜像推送到hub,而是自建私有镜像仓库。还需要注意的是,需要使用不同类型的宿主机来构建镜像,构建镜像的解决方式略有不同,可以参考参考文献1。
以上就是CI/CD的配置过程。虽然过程中有些坑,但逐一攻破之后不难完成。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/7405.html
