持续集成CI/CD之工具快速搭建

网友投稿 297 2022-09-10

持续集成CI/CD之工具快速搭建

下一章:​​持续集成CI&CD之配置管理最佳实践​​

jenkins快速搭建与配置

容器内的Docker部署

安装文档:​​jenkins插件版本号问题)

#生成dockerfile文件cat <<\EOF | tee DockerfileFROM jenkins/jenkins:2.332.2-ltsUSER rootRUN sed -e 's/deb.debian.org/mirrors.aliyun.com/g' -i  /etc/apt/sources.list; \apt-get update && apt-get install -y lsb-release && rm -rf /var/lib/apt/lists/*RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \   --> 选择标准推荐安装

2.设置账号密码

标准插件安装完成后,进入到账号密码设置阶段 账号:admin 密码:XXX

3.选择安装权限、git参数、参数多选插件

安装权限控制插件

Role-based Authorization Strategy

安装git参数插件

Git Parameter

安装参数多选(Active Choices)插件

Active Choices

jenkins修改授权策略

1.选择Role-Based Strategy授权策略

系统管理 -> 全局安全配置 -> 授权策略 -> Role-Based Strategy -> 保存

2.增加角色

(管理角色设置可读read,创建执行任务create_job角色)

系统管理 -> Manage and Assign Roles -> Manage RolesGlobal roles中增加:build-job【权限:全部read、任务build】 create-job【权限:任务 create】

3.用户分组权限配置

以​​开放平台​​为例前缀为ssop-开头

1.系统管理 -> Manage and Assign Roles -> Manage RolesItem roles中增加:安装到maven仓库【Role to add: 开发平台   Pattern: ssop-.+】【权限:凭据:create、update、view, 任务:全选】2.系统管理 -> Manage and Assign Roles ->  Assign RolesUser/group to add:输入用户名 --> 勾选read create-jobItem roles:输入用户名 -->开放平台

jenkins-LDAP认证配置

系统管理 -> 全局安全配置 -> 安全域 -> LDAP

####LDAP 服务器Server:ldap://[IP地址]:489User search base:dc=XXXUser search filter:cuuid={0}Group membership attribute:[ldap组的属性]Manager DN: [ldap管理DN]Manager Password: [ldap管理DN的密码]Display Name LDAP attribute:displaynameEmail Address LDAP attribute:mail

当ldap服务挂调用,需要在后台的配置文件中去掉ldap认证,才能访问

truefalse> >

当ldap使用ssl私有证书情况,需要增加以下操作,才能正常访问ldap服务

> # 生成证书cacerts,复制ldap的证书到/data/jenkins/ldapserver.crt> jdk_sec_dir=/opt/java/openjdk/lib/security> docker run --rm -u root --name test-jenkins -w ${jdk_sec_dir}  -v /data/jenkins/ldapserver.crt:${jdk_sec_dir}/ldapserver.crt -d jenkins/jenkins:2.332.2-lts> docker exec test-jenkins keytool -import  -trustcacerts -alias  ldap.talkweb.com.cn -file  ldapserver.crt  -keystore  cacerts  -storepass changeit  -noprompt> docker cp test-jenkins:/opt/java/openjdk/lib/security/cacerts /data/jenkins> docker stop test-jenkins> > # 重新启动jenkins> docker stop jenkins-blueocean> docker rm jenkins-blueocean> docker run --name jenkins-blueocean \> --network jenkins --env DOCKER_HOST=tcp://docker:2376 \> --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \> --env TZ=Asia/Shanghai \> --publish 8080:8080 --publish 50000:50000 \> --volume /data/jenkins/jenkins-data:/var/jenkins_home \> --volume /data/jenkins/jenkins-docker-certs:/certs/client:ro \> --volume /etc/localtime:/etc/localtime:ro \> --volume /data/jenkins/cacerts:/opt/java/openjdk/lib/security/cacerts:ro \> --restart=always -m 4GB --cpus 2 -d my-jenkins-blueocean:1.1

docker镜像仓库registry快速搭建

​​ https://docs.docker.com/registry/deploying/ ​​

1.生成登录密码

mkdir -p /data/docker-registry/{auth,certs,registry};docker run --rm --entrypoint htpasswd /data/gitlab

1.初始化

# 数据目录export GITLAB_HOME=/data/gitlab# 版本号依次改变export GITLAB_VERSION=latest # 可以是具体的版本号:如14.8.2-ce.0# 创建数据目录mkdir -p ${GITLAB_HOME}/{config,logs,data}# 复制配置文件docker run --rm --detach \--hostname gitlab.example.com \--name gitlab-test \--shm-size 256m \gitlab/gitlab-ce:$GITLAB_VERSIONdocker cp gitlab-test:/etc/gitlab/gitlab.rb /data/gitlab/config# 根据具体的需求修改gitlab.rb

2.使用docker部署gitlab

# 数据目录export GITLAB_HOME=/data/gitlab# 版本号依次改变export GITLAB_VERSION=latest # 可以是具体的版本号:如14.8.2-ce.0# 运行服务docker run --detach \--hostname gitlab.example.com \--publish 443:443 --publish 80:80 --publish 22:22 \--name gitlab --restart always -e TZ=Asia/Shanghai \--volume /etc/localtime:/etc/localtime:ro \--volume $GITLAB_HOME/config:/etc/gitlab:Z \--volume $GITLAB_HOME/logs:/var/log/gitlab:Z \--volume $GITLAB_HOME/data:/var/opt/gitlab:Z \--shm-size 256m \gitlab/gitlab-ce:$GITLAB_VERSION

gitlab-runner快速搭建

1.gitlab-runner运行

# 数据目录export GITLAB_RUNNER_HOME=/data/gitlab-runner# 版本号依次改变export GITLAB_RUNNER_VERSION=latest # 可以是具体的版本号:如v14.8.2#运行docker run -d --name gitlab-runner --restart always \-e TZ=Asia/Shanghai \-v /etc/localtime:/etc/localtime:ro \-v $GITLAB_RUNNER_HOME/config:/etc/gitlab-runner \-v /var/run/docker.sock:/var/run/docker.sock \gitlab/gitlab-runner:$GITLAB_RUNNER_VERSION

2.gitlab-runner注册

docker exec -i gitlab-runner gitlab-runner register

输入您的 GitLab 实例 URL(也称为​​gitlab-ci coordinator URL​​)。

​​ https://gitlab.example.com ​​

输入您获得的令牌以注册runner。

yo9jx2CdqcoDAVgTf44A

输入runner的描述。您可以稍后在 GitLab 用户界面中更改此值。

docker

输入​​与 runner 关联的标签​​,用逗号分隔。您可以稍后在 GitLab 用户界面中更改此值。

shell docker

输入流道的任何可选维护说明。

XXX

提供​​runner executor​​​。对于大多数用例,输入​​docker​​.

docker

如果您​​docker​​​作为执行者输入,系统会要求您为未在​​.gitlab-ci.yml​​.

docker:dind

rancher快速搭建

githup官网:https://github.com/rancher/rancher

1.rancher运行部署

docker run --privileged -d --restart=unless-stopped \--name=rancher -p 80:80 -p 443:443 \-v /etc/localtime:/etc/localtime:ro \-v /data/rancher/db:/var/lib/rancher \-e TZ=Asia/Shanghai \-m 4GB --cpus 2 rancher/rancher:v2.6.4

2.rancher配置

# 访问https://127.0.0.1设置账号:admin,密码:XXX创建开发环境可读用户:dev,密码:XXX

portainer快速搭建

官网:https://portainer.io/ 安装网址:https://docs.portainer.io/v/ce-2.11/start/install/server

1.portainer服务端安装

服务端

# 服务端运行容器docker run -d -p 8000:8000 -p 9443:9443 --name portainer \--restart=always --env TZ=Asia/Shanghai \-v /etc/localtime:/etc/localtime:ro \-v /var/run/docker.sock:/var/run/docker.sock \-v /data/portainer/portainer_data:/data \portainer/portainer-ce:2.11.0

访问配置

# 访问https://localhost:9443/#设置账号账号:admin 密码:XXX

2.portainer代理端安装

# 代理端运行容器docker run -d -p 9001:9001 --name portainer_agent \--restart=always \-v /var/run/docker.sock:/var/run/docker.sock \-v /var/lib/docker/volumes:/var/lib/docker/volumes \portainer/agent:2.11.0

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:持续集成CI/CD之配置管理最佳实践
下一篇:【K8S】Helm包管理工具的简单介绍和安装方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~