首页
导航
统计
留言
更多
壁纸
直播
关于
推荐
星的魔法
星的导航页
谷歌一下
镜像国内下载站
大模型国内下载站
docker镜像国内下载站
腾讯视频
Search
1
Ubuntu安装 kubeadm 部署k8s 1.30
200 阅读
2
rockylinux 9.3详细安装drbd
128 阅读
3
kubeadm 部署k8s 1.30
125 阅读
4
rockylinux 9.3详细安装drbd+keepalived
116 阅读
5
ceshi
80 阅读
默认分类
日记
linux
docker
k8s
ELK
Jenkins
Grafana
Harbor
Prometheus
Cepf
k8s安装
Gitlab
traefik
sonarqube
OpenTelemetry
MinIOn
Containerd进阶使用
ArgoCD
golang
Git
Python
Web开发
HTML和CSS
JavaScript
对象模型
公司
登录
/
注册
Search
标签搜索
k8s
linux
docker
drbd+keepalivde
ansible
dcoker
webhook
星
累计撰写
112
篇文章
累计收到
940
条评论
首页
栏目
默认分类
日记
linux
docker
k8s
ELK
Jenkins
Grafana
Harbor
Prometheus
Cepf
k8s安装
Gitlab
traefik
sonarqube
OpenTelemetry
MinIOn
Containerd进阶使用
ArgoCD
golang
Git
Python
Web开发
HTML和CSS
JavaScript
对象模型
公司
页面
导航
统计
留言
壁纸
直播
关于
推荐
星的魔法
星的导航页
谷歌一下
镜像国内下载站
大模型国内下载站
docker镜像国内下载站
腾讯视频
搜索到
7
篇与
的结果
2025-08-11
runner注册
一、gitlab runner类型shared:运行整个平台项目的作业(gitlab) group:运行特定group下的所有项目的作业(group) specific:运行指定的项目作业(project)二、创建不同类型的runner 2.1shared类型依次点击主页——>管理中心——>CI/CD——>Runner——>新建实例runner#按命令提示输入之后 回车 然后 按自己安装runner的模式 shell还是docker root@k8s-02:~# gitlab-runner register --url http://192.168.30.181 --token glrt-KXvcjZNVMVtCustGF-O3Z286MQp0OjEKdToxCw.01.121vlf8dr Runtime platform arch=amd64 os=linux pid=23285 revision=cc489270 version=18.2.1 Running in system-mode. Enter the GitLab instance URL (for example, https://gitlab.com/): [http://192.168.30.181]: Verifying runner... is valid correlation_id=01K2CM5N1H5TAGE79WMJ9CMDQN runner=KXvcjZNVM Enter a name for the runner. This is stored only in the local config.toml file: [k8s-02]: Enter an executor: docker-windows, docker-autoscaler, instance, shell, ssh, parallels, docker, docker+machine, kubernetes, custom, virtualbox: ERROR: Invalid executor specified Enter an executor: kubernetes, custom, virtualbox, docker-windows, docker-autoscaler, instance, shell, ssh, parallels, docker, docker+machine: ERROR: Invalid executor specified Enter an executor: custom, virtualbox, docker-windows, docker-autoscaler, instance, shell, ssh, parallels, docker, docker+machine, kubernetes: ERROR: Invalid executor specified Enter an executor: custom, virtualbox, docker-windows, docker-autoscaler, instance, shell, ssh, parallels, docker, docker+machine, kubernetes: ERROR: Invalid executor specified Enter an executor: instance, shell, ssh, parallels, docker, docker+machine, kubernetes, custom, virtualbox, docker-windows, docker-autoscaler: ERROR: Invalid executor specified Enter an executor: parallels, docker, docker+machine, kubernetes, custom, virtualbox, docker-windows, docker-autoscaler, instance, shell, ssh: shell Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! Configuration (with the authentication token) was saved in "/etc/gitlab-runner/config.toml" 2.2group类型依次点击主页——>群组——>指定组——>设置——>构建——>runner——>新建群组runner
2025年08月11日
0 阅读
0 评论
0 点赞
2025-08-07
gitlab runner安装
安装的gitlab runner版本与gitlab版本保持一致。一、参考文档https://docs.gitlab.com/runner/install/index.html二、查看gitlab版本root@k8s-02:~# gitlab-rake gitlab:env:info System information System: Ubuntu 22.04 Current User: git Using RVM: no Ruby Version: 3.2.5 Gem Version: 3.6.9 Bundler Version:2.6.5 Rake Version: 13.0.6 Redis Version: 7.2.9 Sidekiq Version:7.3.9 Go Version: unknown GitLab information Version: 18.2.1 Revision: baccadafcda Directory: /opt/gitlab/embedded/service/gitlab-rails DB Adapter: PostgreSQL DB Version: 16.8 URL: http://192.168.30.181 HTTP Clone URL: http://192.168.30.181/some-group/some-project.git SSH Clone URL: git@192.168.30.181:some-group/some-project.git Using LDAP: no Using Omniauth: yes Omniauth Providers: GitLab Shell Version: 14.43.0 Repository storages: - default: unix:/var/opt/gitlab/gitaly/gitaly.socket GitLab Shell path: /opt/gitlab/embedded/service/gitlab-shell Gitaly - default Address: unix:/var/opt/gitlab/gitaly/gitaly.socket - default Version: 18.2.1 - default Git Version: 2.50.1.gl1 三、yum安装https://docs.gitlab.com/runner/install/linux-repository.html #centos curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bash #ubuntu curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash #要安装特定版本的 GitLab Runner: #centos yum list gitlab-runner --showduplicates | sort -r sudo yum install gitlab-runner-17.2.0-1 #ubuntu apt-cache madison gitlab-runner sudo apt install gitlab-runner=17.7.1-1 gitlab-runner-helper-images=17.7.1-1 root@k8s-02:~# gitlab-rake gitlab:env:info System information System: Ubuntu 22.04 Current User: git Using RVM: no Ruby Version: 3.2.5 Gem Version: 3.6.9 Bundler Version:2.6.5 Rake Version: 13.0.6 Redis Version: 7.2.9 Sidekiq Version:7.3.9 Go Version: unknown GitLab information Version: 18.2.1 Revision: baccadafcda Directory: /opt/gitlab/embedded/service/gitlab-rails DB Adapter: PostgreSQL DB Version: 16.8 URL: http://192.168.30.181 HTTP Clone URL: http://192.168.30.181/some-group/some-project.git SSH Clone URL: git@192.168.30.181:some-group/some-project.git Using LDAP: no Using Omniauth: yes Omniauth Providers: GitLab Shell Version: 14.43.0 Repository storages: - default: unix:/var/opt/gitlab/gitaly/gitaly.socket GitLab Shell path: /opt/gitlab/embedded/service/gitlab-shell Gitaly - default Address: unix:/var/opt/gitlab/gitaly/gitaly.socket - default Version: 18.2.1 - default Git Version: 2.50.1.gl1 root@k8s-02:~# systemctl status gitlab gitlab-runner.service gitlab-runsvdir.service gitlab.slice root@k8s-02:~# systemctl status gitlab gitlab-runner.service gitlab-runsvdir.service gitlab.slice root@k8s-02:~# systemctl status gitlab-runner.service ● gitlab-runner.service - GitLab Runner Loaded: loaded (/etc/systemd/system/gitlab-runner.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2025-08-11 12:31:20 UTC; 32min ago Main PID: 1044 (gitlab-runner) Tasks: 10 (limit: 23452) Memory: 82.6M CPU: 3.032s CGroup: /system.slice/gitlab-runner.service └─1044 /usr/bin/gitlab-runner run --config /etc/gitlab-runner/config.toml --working-directory /home/gitlab-runner --ser> Aug 11 12:31:20 k8s-02 systemd[1]: Started GitLab Runner. Aug 11 12:31:24 k8s-02 gitlab-runner[1044]: Runtime platform arch=amd64 os=linux pid=1044 revisio> Aug 11 12:31:24 k8s-02 gitlab-runner[1044]: Starting multi-runner from /etc/gitlab-runner/config.toml... builds=0 max_builds=0 Aug 11 12:31:24 k8s-02 gitlab-runner[1044]: Running in system-mode. Aug 11 12:31:24 k8s-02 gitlab-runner[1044]: Aug 11 12:31:24 k8s-02 gitlab-runner[1044]: Usage logger disabled builds=0 max_builds=1 Aug 11 12:31:24 k8s-02 gitlab-runner[1044]: Configuration loaded builds=0 max_builds=1 Aug 11 12:31:24 k8s-02 gitlab-runner[1044]: listen_address not defined, metrics & debug endpoints disabled builds=0 max_builds=1 Aug 11 12:31:24 k8s-02 gitlab-runner[1044]: [session_server].listen_address not defined, session endpoints disabled builds=0 max_bu> Aug 11 12:31:24 k8s-02 gitlab-runner[1044]: Initializing executor providers builds=0 max_builds=1 root@k8s-02:~# ^C root@k8s-02:~# gitlab-runner -v Version: 18.2.1 Git revision: cc489270 Git branch: 18-2-stable GO version: go1.24.4 X:cacheprog Built: 2025-07-28T12:43:39Z OS/Arch: linux/amd64 如果您尝试安装的特定版本gitlab-runner而不安装相同版本的 gitlab-runner-helper-images,则可能会遇到以下错误: sudo apt install gitlab-runner=17.7.1-1 ... The following packages have unmet dependencies: gitlab-runner : Depends: gitlab-runner-helper-images (= 17.7.1-1) but 17.8.3-1 is to be installed E: Unable to correct problems, you have held broken packages.四、rpm包安装查找合适版本的软件包并下载 https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el7-x86_64/ [root@tiaoban gitlab-runner]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el7-x86_64/gitlab-runner-16.10.0-1.x86_64.rpm [root@tiaoban gitlab-runner]# rpm -ivh gitlab-runner-16.10.0-1.x86_64.rpm五、docker安装[root@client2 docker]# mkdir gitlab-runner [root@client2 docker]# ls gitlab-runner [root@client2 docker]# docker run --name gitlab-runner -itd -v /opt/docker/gitlab-runner:/etc/gitlab-runner --restart always gitlab/gitlab-runner:v16.10.0
2025年08月07日
2 阅读
0 评论
0 点赞
2025-08-07
Gitlab CI/CD简介和jenkins对比
一、Gitlab CI/CD优势- 开源: CI/CD是开源GitLab社区版和专有GitLab企业版的一部分。 - 易于学习: 具有详细的入门文档。 - 无缝集成: GitLab CI / CD是GitLab的一部分,支持从计划到部署,具有出色的用户体验。 - 可扩展: 测试可以在单独的计算机上分布式运行,可以根据需要添加任意数量的计算机。 - 更快的结果: 每个构建可以拆分为多个作业,这些作业可以在多台计算机上并行运行。 - 针对交付进行了优化: 多个阶段,手动部署, 环境 和 变量。二、Gitlab CI/CD特点- 多平台: Unix,Windows,macOS和任何其他支持Go的平台上执行构建。 - 多语言: 构建脚本是命令行驱动的,并且可以与Java,PHP,Ruby,C和任何其他语言一起使用。 - 稳定构建: 构建在与GitLab不同的机器上运行。 - 并行构建: GitLab CI / CD在多台机器上拆分构建,以实现快速执行。 - 实时日志记录: 合并请求中的链接将您带到动态更新的当前构建日志。 - 灵活的管道: 您可以在每个阶段定义多个并行作业,并且可以 触发其他构建。 - 版本管道: 一个 .gitlab-ci.yml文件 包含您的测试,整个过程的步骤,使每个人都能贡献更改,并确保每个分支获得所需的管道。 - 自动缩放: 您可以 自动缩放构建机器,以确保立即处理您的构建并将成本降至最低。 - 构建工件: 您可以将二进制文件和其他构建工件上载到 GitLab并浏览和下载它们。 - Docker支持: 可以使用自定义Docker映像, 作为测试的一部分启动 服务, 构建新的Docker映像,甚至可以在Kubernetes上运行。 - 容器注册表: 内置的容器注册表, 用于存储,共享和使用容器映像。 - 受保护的变量: 在部署期间使用受每个环境保护的变量安全地存储和使用机密。 - 环境: 定义多个环境。三、Gitlab CI/CD架构 3.1Gitlab CI / CDGitLab的一部分,GitLab是一个Web应用程序,具有将其状态存储在数据库中的API。 除了GitLab的所有功能之外,它还管理项目/构建并提供一个不错的用户界面。3.2Gitlab Runner是一个处理构建的应用程序。 它可以单独部署,并通过API与GitLab CI / CD一起使用。3.3.gitlab-ci.yml定义流水线作业运行,位于应用项目根目录下 。为了运行测试,至少需要一个 GitLab 实例、一个 GitLab Runner、一个gitlab-ci文件四、Gitlab CI/CD工作原理- 将代码托管到Git存储库。 - 在项目根目录创建ci文件 .gitlab-ci.yml ,在文件中指定构建,测试和部署脚本。 - GitLab将检测到它并使用名为GitLab Runner的工具运行脚本。 - 脚本被分组为作业,它们共同组成了一个管道。管道状态也会由GitLab显示:最后,如果出现任何问题,可以轻松地 回滚所有更改:五、gitlab CI简介gitlab ci是在gitlab8.0之后自带的一个持续集成系统,中心思想是当每一次push到gitlab的时候,都会触发一次脚本执行,然后脚本的内容包括了测试、编译、部署等一系列自定义的内容。 gitlab ci的脚本执行,需要自定义安装对应的gitlab runner来执行,代码push之后,webhook检测到代码变化,就会触发gitlab ci,分配到各个runner来运行相应的脚本script。这些脚本有些是测试项目用的,有些是部署用的。六、Gitlab ci与Jenkins对比 6.1分支可配置性使用gitlab ci,新创建的分支无需任何进一步的配置即可立即使用CI管道中的已定义作业。 Jenkins基于gitlab的多分支流水线插件可以实现。相对配置来说,gitlab ci更加方便。6.2拉取请求支持如果很好的集成了存储库管理器的CI/CD平台,可以看到请求的当前构建状态。使用这个功能,可以避免将代码合并到不起作用或者无法正确构建的主分支中。 -Jenkins没有与源代码管理系统进一步集成,需要管理员自行写代码或者插件实现。 -gitlab与其CI平台紧密集成,可以方便查看每个打开和关闭拉动请求的运行和完成管道。6.3权限管理- gitlab ci是git存储库管理器gitlab的固定组件,因此在ci/cd流程和存储库直接提供了良好的交互。 - Jenkins与存储库管理器都是松散耦合的,因此在选择版本控制系统时它非常灵活。此外,就像其前身一样,Jenkins强调了对插件的支持,以进一步扩展或改善软件的现有功能。6.4插件管理扩展Jenkins的本机功能是通过插件完成的,插件的维护,保护和成本很高。 gitlab是开放式的,任何人都可以直接向代码库贡献更改,一旦合并,它将自动测试并维护每个更改七、Jenkins vs GitLab CI/CD 优缺点 7.1Jenkins 的优点- 大量插件库 - 自托管,例如对工作空间的完全控制 - 容易调试运行,由于对工作空间的绝对控制 - 容易搭建节点 - 容易部署代码 - 非常好的凭证管理 - 非常灵活多样的功能 - 支持不同的语言 - 非常直观7.2Jenkins 的缺点- 插件集成复杂 - 对于比较小的项目开销比较大,因为你需要自己搭建 - 缺少对整个 pipeline 跟踪的分析7.3GitLab CI/CD 的优点- 更好的 Docker 集成 - 运行程序扩展或收缩比较简单 - 阶段内的作业并行执行 - 有向无环图 pipeline 的机会 - 由于并发运行程序而非常易于扩展收缩 - 合并请求集成 - 容易添加作业 - 容易处理冲突问题 - 良好的安全和隐私政策7.4GitLab CI/CD 的缺点- 需要为每个作业定义构建并上传 / 下载 - 在实际合并发生之前测试合并状态是不可能的 - 还不支持细分阶段八、对比总结 8.1gitlab ci- 轻量级,不需要复杂的安装手段 - 配置简单,与gitlab可直接适配 - 实时构建日志十分清晰,UI交互体验很好 - 使用yaml进行配置,任何人都可以很方便的使用 - 没有统一的管理界面,无法统一管理所有的项目 - 配置依赖于代码仓库,耦合度没有Jenkins低8.2Jenkins- 编译服务和代码仓库分离,耦合度低 - 插件丰富,支持语言众多 - 有统一的web管理页面 - 插件以及自身安装较为复杂 - 体量较大,不适合小型团队开发。九、适用场景- gitlab ci有助于devops人员,例如敏捷开发中,开发人员与运维是同一个人,最便捷的开发方式 - Jenkins适合在多角色团队中,职责分明,配置与代码分离,插件丰富。
2025年08月07日
2 阅读
0 评论
0 点赞
2025-08-01
jenkins与Maven集成
一、安装配置Maven此处以rpm包部署jenkins为例,以下操作在jenkins所在服务器执行。 maven下载地址:https://maven.apache.org/download.cgi1.1安装Maven[root@jenkins ~]# wget https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz [root@jenkins ~]# mkdir /usr/local/maven [root@jenkins ~]# tar -zxf apache-maven-3.9.6-bin.tar.gz -C /usr/local/maven/ [root@jenkins ~]# cd /usr/local/maven/apache-maven-3.9.6/ [root@jenkins apache-maven-3.9.3]# ls bin boot conf lib LICENSE NOTICE README.txt1.2设置maven的阿里云镜像[root@jenkins apache-maven-3.9.6]# vim conf/settings.xml # 在159行的标签为</mirrors>前添加如下阿里云镜像 <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>1.3配置环境变量tar -zxvf amazon-corretto-17.0.16.8.1-linux-x64.tar.gz -C /usr/lib/jvm/ root@k8s-03:/usr/lib/jvm# ls amazon-corretto-17.0.16.8.1-linux-x64 root@k8s-03:/usr/lib/jvm# sudo chown -R root:root /usr/lib/jvm/amazon-corretto-17.0.16.8.1-linux-x64/ root@k8s-03:/usr/lib/jvm# export JAVA_HOME=/usr/lib/jvm/amazon-corretto-17.0.16.8.1-linux-x64/ root@k8s-03:/usr/lib/jvm# export PATH=$JAVA_HOME/bin:$PATH root@k8s-03:/usr/lib/jvm# java -version openjdk version "17.0.16" 2025-07-15 LTS OpenJDK Runtime Environment Corretto-17.0.16.8.1 (build 17.0.16+8-LTS) OpenJDK 64-Bit Server VM Corretto-17.0.16.8.1 (build 17.0.16+8-LTS, mixed mode, sharing) root@k8s-03:/usr/lib/jvm# javac -version javac 17.0.16 root@k8s-03:/usr/lib/jvm# vi /etc/profile root@k8s-03:/usr/lib/jvm# cat /etc/profile # /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). if [ "${PS1-}" ]; then if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ]; then # The file bash.bashrc already sets the default PS1. # PS1='\h:\w\$ ' if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi else if [ "$(id -u)" -eq 0 ]; then PS1='# ' else PS1='$ ' fi fi fi if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do if [ -r $i ]; then . $i fi done unset i fi export MAVEN_HOME=/usr/local/maven/apache-maven-3.9.9 export PATH=${MAVEN_HOME}/bin:${PATH} JAVA_HOME=/usr/lib/jvm/amazon-corretto-17.0.16.8.1-linux-x64 PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME PATH root@k8s-03:/usr/lib/jvm# source /etc/profile root@k8s-03:/usr/lib/jvm# mvn -v Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937) Maven home: /usr/local/maven/apache-maven-3.9.9 Java version: 17.0.16, vendor: Amazon.com Inc., runtime: /usr/lib/jvm/amazon-corretto-17.0.16.8.1-linux-x64 Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "5.15.0-151-generic", arch: "amd64", family: "unix" 二、jenkins配置Maven 2.1全局工具配置关联jdk和mavenjenkis——>manage jenkins——>tools 如遇yum安装jdk无法识别,可尝试下载二进制openjdk安装2.2添加jenkins全局变量jenkis——>manage jenkins——>System 新增JAVA_HOME、M2_HOME、PATH+EXTRA三、拉取java项目 3.1创建项目此处以springboot项目为例,项目地址https://gitee.com/axzys/sprint_boot_demo3.2创建凭据依次点击jenkins——>系统管理——>Credentials——> Add Credentials,类型选择username with password四、创建任务 4.1创建流水线任务新建一个类型为自由风格的任务4.2配置git仓库信息gitee的主分支名称为master4.3构建测试点击立即构建,查看构建信息五、打包测试 5.1修改任务修改gitlab与gitee连接中配置的任务,新增构建步骤。配置如下5.2构建测试可以看到控制台成功打印了打包信息六、读取pom.xml参数在执行 Java 项目的流水线时,我们经常要动态获取项目中的属性,很多属性都配置在项目的 pom.xml 中,使用Pipeline Utility Steps 插件提供能够读取 pom.xml 的方法,pipeline如下stage('读取pom.xml参数阶段'){ // 读取 Pom.xml 参数 pom = readMavenPom file: './pom.xml' // 输出读取的参数 print "${pom.artifactId}" print = "${pom.version}" }
2025年08月01日
2 阅读
0 评论
0 点赞
2025-08-01
gitlab和jenkins连接
一、gitlab配置 1.1 创建用户并登录1.2 导入项目需要管理员后台开启导入功能此处以Vue项目为例,项目地址:https://gitee.com/cuiliang0302/vue3_vite_element-plus.git二、jenkins配置 2.1 安装gitlab插件依次点击jenkins——>Manage Jenkins——>插件管理——>Plugins,在Jenkins的插件管理中安装GitLab插件三、连接测试 3.1 SSH验证#在容器中生成秘钥 root@k8s-01:~# kubectl get pods -n cicd NAME READY STATUS RESTARTS AGE jenkins-c884498c6-jt5rd 1/1 Running 4 (11m ago) 36h root@k8s-01:~# kubectl exec -it -n cicd jenkins-c884498c6-jt5rd -- /bin/sh $ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/var/jenkins_home/.ssh/id_rsa): Created directory '/var/jenkins_home/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /var/jenkins_home/.ssh/id_rsa Your public key has been saved in /var/jenkins_home/.ssh/id_rsa.pub The key fingerprint is: SHA256:vslPYI4OboQAv+ClSj+l0s5BcOgWy71KoF3CFJnOKEM jenkins@jenkins-c884498c6-jt5rd The key's randomart image is: +---[RSA 3072]----+ | .o | |.E+. | |oO.. | |OoX. | |+O==. S | |+=+oo. = . | |+.+++ . o . | |o.o*oo . + | | .o+o . +.. | +----[SHA256]-----+ $ cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDAmjMVNkGL2gzFKQZDaC5jxOCXniZfBdkdYvqdralfhdVMTqxSgbQNbBX3E3S98L736/d0p7kgqZb/6FNGtNeAzHaQuWC2buPz1JAVw38dYuNbMazrpnsEcuoajbjACASwPSYfHhvq6zZ9xYMZMPqlgFgAgZGPmrC22cIgg1mFapwOIUyc56XqXViDOUZMGof5HQC+pNSV3iKfCt6agzPvDk6jXauis77n1T5gNiyeZixFDsXf9/6ORvd6XNUX0OfqZF2TUceIOWk+u1N/k5Y8CDjnHAJxftJJWFWtDwkANnqux1HA2BcUYCmZlvyPUNJHKTBWvQZ4Q7EbH0fX6YNN/n3doYovU4aA+OfpVlPv+4tzwUHSy5bauVUDT42Bg1KZtCwDIvf2rxrTmWCbb8ceNPti8/XzzccuZ8al382cE2yK0i6/PUjrI3Azk/NAKVdCERb/RgYpimALfWmUoduPdcLHNwZOsm3JjvxHuP88YxxvRG5JkzpU8bbg/a1RKeM= jenkins@jenkins-c884498c6-jt5rd在gitlab中添加ssh密钥信息获取jenkins容器用户名和私钥$ whoami jenkins $ cat ~/.ssh/id_rsa -----BEGIN OPENSSH PRIVATE KEY----- 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 -----END OPENSSH PRIVATE KEY----- jenkins创建密钥凭据,类型选择ssh username with private key获取仓库git连接地址创建自由风格的软件项目在源码管理中添加仓库地址,需要注意的是默认地址为git@gitlab-559d798d49-hpcjt:cuiliang/vue3_vite_element-plus.git,修改为git@gitlab-svc.cicd.svc:cuiliang/vue3_vite_element-plus.git,并在jenkins容器中执行命令,添加远程仓库地址。 #上面是gitlab跑在k8s当中需要修改的 下面是gitlab裸部署 git@192.168.30.181:xing/vue3_vite_element-plus.git$ $ git ls-remote -h -- git@192.168.30.181:xing/vue3_vite_element-plus.git HEAD The authenticity of host '192.168.30.181 (192.168.30.181)' can't be established. ED25519 key fingerprint is SHA256:2awMz8VKsoMHs1ylz/z1bl11ATG3AcIVJEABqhR51p0. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '192.168.30.181' (ED25519) to the list of known hosts.点击立即构建,可以拉取代码并获取git commit信息。3.2 http/https连接添加jenkins凭据 在jenkins中添加凭据,账号为gitlab账户和密码。 jenkins——>系统管理——>Credentials——>添加类型为username with password的全局凭据获取项目克隆地址访问gitlab项目页,获取项目http克隆地址。 http://192.168.30.181/xing/vue3_vite_element-plus.git创建自由风格任务测试新建一个自由风格软件项目测试如果是gitlab是跑在k8s里面的在源码管理中填写http仓库地址,并选择账号密码凭据,需要注意的是仓库地址默认使用gitlab的pod名称,需要改为svc名称方式。即http://gitlab-svc.cicd.svc/cuiliang/vue3_vite_element-plus.git点击立即构建,查看控制台日志,已经可以正常拉取项目代码,获取到git commit信息。3.3Access Token验证登录gitlab,依次点击项目——>设置——>访问令牌。角色设置为guest,授予api权限即可。glpat-d2zMJyr9Z3u_1b-B43s1创建凭据,依次点击jenkins——>系统管理——>Credentials——> Add Credentials,类型选择gitlab api token配置gitlab信息 jenkins——>系统管理——>系统配置,找到gitlab配置区域, gitlab url填写http://gitlab-svc.cicd.svc,然后点击 Test Connection,显示 Success,表示成功。四、webhook配置通常在企业实际开发过程中,当代码提交到master分支或者创建tag时,gitlab请求jenkins的webhook地址,完成持续构建和持续部署流程。4.1创建jenkins流水线项目4.1.1新建一个类型为流水线的任务pipeline { agent any stages { stage('Checkout') { steps { // 修正参数名并补充必要参数 git branch: 'master', credentialsId: 'gitlab-xing-password', // Jenkins凭据ID url: 'http://192.168.30.181/xing/vue3_vite_element-plus.git', poll: true, // 对应"√ Include in polling" changelog: true // 对应"√ Include in changelog" } } stage('build') { steps { echo '编译打包完成' } } } }如果不选择沙盒会报错接下来点击立即构建,测试是否可以正常拉取代码4.2 开启webhook配置配置gitlab策略,使用root用户登录——>管理员——>网络——>出站请求——>允许来自webhook和集成对本地网络的请求。获取jenkins webhook令牌 修改流水线任务,点击**Build when a change is pushed to GitLab的高级选项,生成令牌。切换回cuiliang用户——>vue项目——>设置——>webhooks——>填写jenkins生成的webhook地址和令牌。触发来源选择所有分支。查看jenkins构建历史,发现触发了自动构建五、项目添加Jenkinsfile通常在企业开发中,jenkinsfile文件存放在项目指定路径下,与仓库代码一同维护,根据环境灵活配置,而非jenkins中的固定配置。修改流水线配置,选择pipeline文件来自仓库提交代码到仓库后,查看jenkins构建历史,发现已经自动触发了一次构建
2025年08月01日
4 阅读
0 评论
1 点赞
1
2