在做配置之前,请先了解一下知识点,更加方便了解下面代码:
1.文件后缀名为.yml
2.gitlab-runner
3.CI/CD
了解完之后就开始本次代码讲解(一定要先进行了解)
首先先要做一些准备工作,方便下面步骤的使用
1.运行docker里的gitlab
2.找到你想应用的项目仓库里去设置弄一个访问令牌
添加一个新令牌
设置令牌的名称,访问权限,时间
创建之后这个令牌token需要暂时保存下来,留着待会会用到,下面代码说到令牌token就是在使用
一、进行安装Docker-runner软件
路径:在C盘创建文件夹名为 GitLab-Runner把文件下载到该目录。
网址:https://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文件里的工作不是固定的,也是根据项目进行更改,这仅供参考。
保存.gitlab-ci.yml之后,流水线就会立刻运行,以后每次只要仓库有提交,都会触发流水线启动,到此代码编写完毕。
标签:runnertest1,CI,shell,runner,gitlab,CD,Runner,windous,GitLab From: https://www.cnblogs.com/gyp2001/p/17861584.html