Rancher 2.x+GitLab+k8s 搭建流水线

AI 驱动代码审查实战

Claude code-review 插件深度解析,把 AI 智能审查接进 CI/CD 流水线

1、部署Rancher2.x

        (1)拉取镜像

                docker pull rancher/rancher:v2.2.8

        (2)创建映射卷

                mkdir -p /opt/docker/rancher/cni

                mkdir -p /opt/docker/rancher/kubelet

                mkdir -p /opt/docker/rancher/home

                mkdir -p /opt/docker/rancher/log

        (3)运行容器

                docker run --privileged -d --restart=unless-stopped -p 8888:80 -p 8443:443 \

                -v /opt/docker/rancher/cni:/var/lib/cni \

                -v /opt/docker/rancher/kubelet:/var/lib/kubelet \

                -v /opt/docker/rancher/home:/var/lib/rancher \

                -v /opt/docker/rancher/log:/var/log/log \

                --name rancher -e JAVA_OPTS="-Xmx1024m" rancher/rancher:v2.4.8

2、创建集群

                

点击添加集群按钮

选择自定义

输入集群名称

选择每个主机所需角色

注意:若有公网IP则必填,节点名称也必填,内网IP也必填

将对应链接复制到对应主机上运行即可,等待安装完成。

 安装完成!

3、部署Gitlab,若使用在线的Gitlab则可忽略。

镜像名称:beginor/gitlab-ce:11.3.0-ce.0 (中文版)

映射主机路径

mkdir -p /opt/docker/gitlab/config mkdir -p /opt/docker/gitlab/logs mkdir -p /opt/docker/gitlab/data

对应容器映射路径

--v /opt/docker/gitlab/config:/etc/gitlab

--v /opt/docker/gitlab/logs :/var/log/gitlab

--v /opt/docker/gitlab/data:/var/opt/gitlab

4、部署docker私有仓库

参考Docker搭建私有仓库Registry.note命令部署自行在Rancher2.4.8上部署工作负载

5、部署maven私有仓库nexus

参考Docker搭建Mavne私有仓库.note命令部署自行在Rancher2.4.8上部署工作负载

5、打maven镜像

        (1)创建maven目录

                mkdir maven

        (2)进入目录

                cd maven

        (3)创建Dockerfile文件

                touch Dockerfile

        (4)编辑Dockerfile文件

                vi Dockerfile

                内容如下

                FROM maven:3.6.0-jdk-8-alpine COPY settings.xml /usr/share/maven/conf/

        (5)创建settings.xml文件

                内容如下

                <?xml version="1.0" encoding="UTF-8"?>

                <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"

                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

                xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0                 http://maven.apache.org/xsd/settings-1.0.0.xsd">

                <servers>

                        <server>

                                <id>nexus-releases</id>

                                <username>用户名</username> #用户名和密码根据自己配置的来修改

                                <password>密码</password>

                        </server>

                </servers>

                <mirrors>

                        <mirror>

                                <id>nexus-releases</id>

                                <mirrorOf>*</mirrorOf> #路径根据自己配置的来修改

                                <url>http://ip:端口/repository/maven-releases/</url>

                       </mirror>

                 </mirrors>

                <profiles>

                        <profile>

                        <id>nexus</id>

                                <repositories>

                                        <repository>

                                                <id>nexus-releases</id>

                                                <url>http://nexus-releases</url>

                                                <releases><enabled>true</enabled></releases>

                                        </repository>

                                </repositories>

                        <pluginRepositories>

                                <pluginRepository>

                                        <id>nexus-releases</id>

                                        <url>http://nexus-releases</url>

                                        <releases><enabled>true</enabled></releases>

                                </pluginRepository>

                        </pluginRepositories>

                        </profile>

                </profiles>

                <activeProfiles>

                        <activeProfile>nexus</activeProfile>

                </activeProfiles>

                </settings>

        (6)制作镜像

                docker build -t 镜像名称:1.0.0 .

        (7)上传到私有仓库

                docker tag xxxxxx 私有仓库地址/镜像名称:1.0.0

                docker push xxxxxx 私有仓库地址/镜像名称:1.0.0

        6、创建流水线

进入集群应用界面,点击菜单:资源->流水线->设置代码库

点击认证&同步代码库

进入后选择Gitllab,然后需要在Gitlab里添加应用,把rancher的验证地址填好如图

 

然后会生成app_id和密码,将其填入rancher配置即可。若有代码库可查看到如图中信息,点击开启即打开流水线

点击编辑配置

上图为配置好的流水线步骤,分5步:

第一步:拉取代码,创建流水线时自带,不用创建

第二步:对拉取下的项目代码进行编译,需使用maven镜像(参考5、打maven镜像)

第三步:为了避免下次部署是端口及名称冲突,我选择先把服务删除(通过API升级方式暂未研究明白)

API可点击工作负载最右边操作按钮查看API,调用API需要用到访问密钥,需要自行添加

第四步:构建镜像及发布到私有仓库

需要编写Dockerfile文件,文件内容如下

镜像仓库选择需要先在资源->密文,点击镜像库凭证列表导航出添加镜像库凭证

没有设置登录认证的话不用填写用户名及密码。

注:若私有仓库没有使用https,需要自行修改流水线配置文件,在构建镜像节点出添加PLUGIN_DEBUG和PLUGIN_INSECURE参数。

第五步:部署服务,需要编写deployment.yaml(可以先部署服务,然后下载yaml,多余的可自行删除)。

完成后点击保存即可点击运行流水线。

运行完成后会自动部署服务!

AI 驱动代码审查实战

Claude code-review 插件深度解析,把 AI 智能审查接进 CI/CD 流水线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值