Docker的CI/CD流水线简单配置(在windous本地配置)

发布时间 2023-11-28 14:09:30作者: 耿有才

在做配置之前,请先了解一下知识点,更加方便了解下面代码:

1.文件后缀名为.yml

2.gitlab-runner

3.CI/CD

了解完之后就开始本次代码讲解(一定要先进行了解)

首先先要做一些准备工作,方便下面步骤的使用

1.运行docker里的gitlab

2.找到你想应用的项目仓库里去设置弄一个访问令牌

 添加一个新令牌

 设置令牌的名称,访问权限,时间

创建之后这个令牌token需要暂时保存下来,留着待会会用到,下面代码说到令牌token就是在使用


一、进行安装Docker-runner软件
路径:在C盘创建文件夹名为 GitLab-Runner把文件下载到该目录。

网址:https://link.zhihu.com/?target=https%3A//gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-windows-amd64.exe

注册新的getlab-Runner,创建 gitlab-runner.yml文件,将以下代码写入(将我讲解的文字删除掉)

//注册一个 GitLab Runner。GitLab Runner 是一个用于在 GitLab CI/CD 中执行作业的执行器。
//cd c:\GitLab-Runner 用于切换到 GitLab Runner 的安装目录。而 .\gitlab-runner-windows-amd64.exe register 则是运行 GitLab Runner 注册命令。

cd c:\GitLab-Runner
.\gitlab-runner-windows-amd64.exe register
-------------------------------------------

Runtime platform                                  [0;m  arch[0;
=windows pid[0;m=2756 revision[0;m=133d7e76 version[0;m=15.6.1
[0;33m

//GitLab 实例的 URL:这里是 http://localhost:8080/abc/abc,表示 GitLab 实例的地址。

Enter the GitLab instance URL (for example, https://gitlab.com/):
http://localhost:8080/abc/abc

//注册 Token:这里是 glpat-JzSJsWcxMnNaAXaWWaxs,用于验证 Runner 的注册,这里采用上面创建的令牌Token。
Enter the registration token: glpat-JzSJsWcxMnNaWWaxs
[runnertest2]runnertest1 shell

//输入运行器的标签这个就是注册runner的表签(下面会用到)
Enter tags for the runner (comma-separated): shell,runnertest2_shell Enter optional maintenance note for the runner: shell for runnertest2 Registering runner... succeeded [0;m runner[0;m=gghjkkll... Enter an executor: ssh, virtualbox, kubernetes, custom, docker, docker-windows,parallels, instance, docker-ssh, shell, docker+machine, docker-ssh+machine: shell Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! [0;m Configuration (with the authentication token) was saved in "C:\\GitLab-Runner\\c onfig.toml"[0;me

 

二、把Runner安装成一个服务并启动

在windows启动菜单输入框输入 cmd ,然后不要回车,在菜单最上面把 cmd 设为以管理员身份运行,然后再执行(必须是管理员运行)

gitlab-runner-windows-amd64.exe install
gitlab-runner-windows-amd64.exe start

  在 控制台-->系统和安全-->管理工具-->服务 中找到了该服务,看到已经自动把登陆帐号设为本地系统账户并自动启动

 

三、编写一个运行流水线

创建一个.gitlab-ci.yml文件,写入一下代码(文字注释需要删除)

stages:                //系列的阶段
  - build 			     //构建阶段,用于构建项目。
  - test			      //测试阶段,用于运行项目的测试。
  - review		        //审查阶段,用于执行其他检查或审查操作。
  - deploy		        //部署阶段,用于将项目部署到目标环境
                  //相应的作业
build-job:              //在build阶段执行的作业,
  stage: build		      //执行build阶段
  script:		
    - echo "开始测试runnertest1 shell..."  
    - docker run --rm maven:3-jdk-11-slim mvn -v         //使用maven:3-jdk-11-slim镜像
    - echo "结束测试runnertest1 shell."	
  tags:		                        //提示信息
    - runnertest1_shell 		           //此作业标记为runnertest1_shell

test-job:                            //test阶段执行的作业
  stage: test
  script:
    - echo "开始测试runnertest1 maven..."  
    - mvn -v                               //运行mvn -v命令验证Maven版本
    - echo "结束测试runnertest1 maven."
  tags:
    - runnertest1_maven

review-job:      
  stage: review	                      //在review阶段执行的作业
  image: maven:3-jdk-11-slim		        //使用maven:3-jdk-11-slim镜像
  script:
    - echo "开始测试runnertest1 maven..."  
    - java -version			          //运行java -version命令验证Java版本
    - echo "结束测试runnertest1 maven."
  tags:
    - docker		                //此作业标记为docker。

deploy-job:      
  stage: deploy	                  //deploy阶段执行的作业
  script:
    - echo "开始测试windows shell runner..."  
    - java -version					      //运行java -version命令验证Java版本
    - echo "结束测试windows shell runner."
  tags:							        //此作业标记为shell,runnertest2_shell
shell,runnertest2_shell

  解释:tags这里的runnertest2_shell就是我们之前注册Runner时填写的标签。

保存.gitlab-ci.yml之后,流水线就会立刻运行,以后每次只要仓库有提交,都会触发流水线启动,到此代码编写完毕。