一键建网站,做影视网站该怎么发展,wordpress注册时添密码,黄骅市长一、背景 看到网上很多用户提出的runner问题其实实际都不是问题#xff0c;不过是因为对runner的一些细节不清楚导致了误解。本文不系统性的介绍GitLab-Runner#xff0c;因为这类文章写得好的特别多#xff0c;本文只汇总一些常几的问题/注意事项。旨在让新手少弯路。 二、…一、背景 看到网上很多用户提出的runner问题其实实际都不是问题不过是因为对runner的一些细节不清楚导致了误解。本文不系统性的介绍GitLab-Runner因为这类文章写得好的特别多本文只汇总一些常几的问题/注意事项。旨在让新手少弯路。 二、环境
- GitLab 16.11.10 官方下载地址GitLab 16.11.10
- GitLab-Runner 16.11.4 官方下载地址GitLab-Runner 16.11.4
- Docker Desktop 4.37 容器图形化工具 官方下载地址Docker Desktop 4.37
特别说明
- Docker Desktop仅仅是Windows下镜像用如有能爬楼的服务器或是非容器化安装可不安装此软件 三、GitLab准备
略。这里假设已经有了GitLab环境。本文只讲Runner集成。GitLab的安装下载包见上面的环境章节
四、GitLab-Runner下载
读者可根据实际需求选择rpm包或是镜像
- rpm包下载链接见上面的环境章节
- 镜像包请在服务器上下载或windows本地安装Docker Desktop下载
作者本文以rpm包为例
gitlab-runner-16.11.4-1.x86_64.rpm 五、GitLab-Runner安装/卸载
rpm命令安装需要root用户或其他用户sudo安装
rpm -ivh gitlab-runner-16.11.4-1.x86_64.rpm
# 卸载
yum erase gitlab-runner -y
特别注意【扫雷】
1、这里安装完会自动创建gitlab-runner用户
2、即时修改gitlab-runner用户的密码避免一些安全扫描问题特别是对安全抓得比较严的公司
linux密码修改命令
passwd 用户名
3、root安装含sudo和非root安装配置文件所在目录是不一样的
4、查看配置文件路径命令
gitlab-runner list 5、root安装的含sudo配置文件在/etc/gitlab-runner/config.toml
6、非root安装的配置文件在/home/gitlab-runner/.gitlab-runner/config.toml
7、千万别故意用非root安装故意踩雷容易搞出问题
8、配置修改/etc/gitlab-runner/config.toml就行了
9、并发线程数量少了可改这个配置文件 10、有时侯没有流水线在跑但流水线就是不动重启一下gitlab-runner就行了一般不会发生 六、启动/停止
1、常规方式
sudo gitlab-runner start
sudo gitlab-runner stop
2、容器方式
- bridge网络模式
## 创建网络
docker network create gitlabnetwork## bridge网络模式
docker run -d --network gitlabnetwork --hostnamegitlab-runner1 \--name gitlab-runner --restart always \-v /app/gitlab-runner/config:/etc/gitlab-runner \-v /app/gitlab-runner/run/gitlab-runner.pid:/var/run/gitlab-runner.pid \gitlab/gitlab-runner:v16.11.4
- host主机模式
# host主机模式
docker run -d --networkhost \--name gitlab-runner --restart always \-v /app/gitlab-runner/config:/etc/gitlab-runner \-v /app/gitlab-runner/run/gitlab-runner.pid:/var/run/gitlab-runner.pid \gitlab/gitlab-runner:v16.11.4
- 容器启/停
docker start ${containerID}
docker stop ${containerID}
docker restart ${containerID}
七、查看URL和注册令牌
1、共享Runner注册令牌
Admin area--》Overview--》Runners 2、群组Runner注册令牌
- 新建群组 - 进群组
设置-CICD-runner 3、专用Runner注册令牌
进入项目-设置-CICD-runner 八、GitLab-Runner注册
注册时直接指定非锁定、非保护注册上后可在gitlab页面修改以免后面不知所措
1、注册
注册什么类型的就使用对应类型令牌
sudo gitlab-runner register \
--non-interactive \
--executor shell \
--url http://10.130.***.**:8082/ \
--registration-token S_AfM7r*****jFyb5GSQ \
--description shared-runner2 \
--tag-list check,build,deploy,test \
--run-untagged true \
--locked-false \
--access-level not protected
2、效果
注册不同类型的查看页面不一样同查看URL和注册令牌章节的节面这里只列出共享类型页面 九、最佳实践
1、介绍
通过流水线实现check、test、package、publish
- check 自动化静态代码质量扫描应用已集成pmd代码质量检查插件
- test 自动化动态代码质量扫描、自动化测试应用所有服务接口都有对应的单元测试方法
- package 自动打包跳过测试避免重复测试跳过doc、source等不必要的处理提高效率
- publish 自动发布可配置规则自动或手动设定参数决定本次流水线是否发布
2、界面 3、.gitlab-ci.yml配置文件位置及内容demo
创建一个名为“.gitlab-ci.yml”的文件放在工程的根目录 自动化配置文件内容
stages:- check- test- package- publishbefore_script:- export CENTER_NAME$(echo $CI_PROJECT_NAME| cut -d- -f 1)- export TARGET_RPC_SERVICE$CENTER_NAME-***-service- export TARGET_WEB_API$CENTER_NAME-web-api- export JAVA_HOME/usr/lib/jvm/jdk-17-oracle-x64- export MAVEN_HOME/app/maven/maven3.8.8- export PATH$JAVA_HOME/bin:$PATH- export MAVEN_OPTS-server -Xms256m -Xmx512m -XX:MetaspaceSize64m -XX:MaxMetaspaceSize128m -Dfile.encodingUTF-8 -Djava.net.preferIPv4Stacktrue - export ARCHIVE_HOME/data2/app/deploy/boot- export APP_HOME/data2/app- export CI_PROJECT_STATUSdevelop- export RUNNER_IP$(ip addr | awk /inet.*global/ {print gensub(/(.*)\/(.*)/, \\1, g , $2)} | awk NR1)after_script:- env current_env.logvariables:MAVEN_CLI_OPTS: --batch-modeMAVEN_CLI_PROMQL_OPTS: --batch-mode -DgroupspromqlMAVEN_CLI_ES_HLOG_CSB_OPTS: --batch-mode -DgroupshlogMAVEN_CLI_ES_SW_OPTS: --batch-mode -DgroupsswMAVEN_CLI_SKIP_TEST_OPTS: $MAVEN_CLI_OPTS -Dmaven.test.skiptrue -Dmaven.javadoc.skiptrue -Dmaven.source.skiptrue checking:stage: checkscript:- echo mvn $MAVEN_CLI_OPTS pmd:check- mvn $MAVEN_CLI_OPTS pmd:check -s $MAVEN_HOME/conf/settings.xml- find . -type f -name pmd.xml -exec cat {} \except:variables:- $CI_PROJECT_STATUS inittags:- checktest:stage: testscript:- echo mvn --batch-mode -Dgroupsci test- mvn --batch-mode -Dspring.profiles.activeci -Dlog.path/app/log/smet -Dprofileci -DgroupCI -Dnacos-addr10.130.***.**:18848 -Dnacos-passwordnacos2024ip92 -Dserver.port8004 -Ddubbo.protocol.port50052 -Ddubbo.application.qos-port22223 -s $MAVEN_HOME/conf/settings.xml testtags:- testpackage:stage: packagescript:- mvn $MAVEN_CLI_SKIP_TEST_OPTS -s $MAVEN_HOME/conf/settings2.xml package- sudo find . -type f -name *.jar.original -exec sh -c /bin/cp -rf \{}\ /app/saashealth/ \;- sudo chown tomcat.tomcat /app/****health/*.jaronly:- mastertags:- packagepublish:stage: publishscript:- echo 发布开始...- echo 文件拷贝和停服务...- sudo su - tomcat -s /app/****health/publish.sh- echo 文件拷贝停服务完成- echo 发布完成only:- mastertags:- publish
4、自带配置检查工具 - 检查工具入口 - 校验页面 十、GitLabRunner 类型重点说明
这里旨在给各位读者扫雷---很重要
shared 运行整个平台项目的作业gitlab -- 共享类
group 运行特定group下的所有项目的作业group -- 分组类
specific: 运行指定的项目作业project -- 专享类
locked 无法运行项目作业specific的就会带locked标签表示无法运行其他项目作业
paused 不会运行作业手动停了就是pause点runner数据量后面的两竖按钮
十一、【扫雷】总结
1、root用户安装gitlab-runner
2、就算作业类型shared、group、specific关联了一般也会通过tag触发匹配才触发
3、注意配置文件位置别因多次安装搞混淆了
4、及时修改gitlab-runner用户的默认密码
5、一定要在项目根目录创建一个名为“.gitlab-ci.yml”的文件才能看到效果
6、.gitlab-ci.yml需要语法正确使用自带页面工具校验
7、本文着重实践。
8、想学理论的话网上这篇帖子讲得比较全面云原生之GitLab集成Runner