jenkins+centos7上传发布net6+gitlab

工作中实践了一下jenkins的操作,所以记录一下这次经验

首先安装好jenkins并注册自己的jenkins账号

因为我们的项目代码管理使用的是gitlab,在开始之前先在jenkins上安装gitlab的插件,安装之后应该是要重启jenkins的服务,后续jenkins的一些页面就会显示一些关于gitlab的一些可配置项

如果遇到一些插件安装不了可能是jenkins的版本与插件的版本不兼容,所以可以考虑升级jenkins或者降级插件版本等等方案。

开始

1.添加服务器的凭据账号密码,这些凭据可用于服务器的登录、git的登录 等等。后续添加节点或者添加项目配置git都会需要

我本次的需求共添加了4个:

两个服务器节点的凭据(项目做负载),一个gitlab账号密码的凭据,一个gitlab api token的凭据。

新增两个服务器的凭据,比如我的 4.61和4.62服务器

然后新增的gitlab账号密码凭据:

这个重点:因enkins要与git相互协作,我们使用gitlab管理代码,所以此处需要添加一个git的凭据。

gitlab配置access token

2.添加服务器的node节点,用于创建项目时绑定要发布的服务器,我是负载两台服务器,所以我加两个,看自己的需求

注意:用法:要选择 Only build jobs with label expressions matching this node

  1. 系统配置服务器节点、配置ssh私钥

jenkins按钮目录:

首先配置ssh私钥,需要到jenkins的服务端服务器上找到或者生成秘钥和公钥,但是文件名是这样的id_rsa 和 id_rsa.pub

秘钥 cat /root/.ssh/id_rsa

公钥 cat /root/.ssh/id_rsa.pub

上图的Passphrase我没有所以我没设置

还是在当前页,找到SSH Server然后填SSH Servers的服务,此处我也是添加俩61和62的

先别保存,还是在当前页面查找下面这张图并填写,然后再保存即可

4、配置项目的服务器,分为两部分操作

第一部分是jenkins部分的添加和配置项目

添加项目:

添加完后点击项目,然后点击配置进入到这个页面:

需要配置的几个地方:

参数配置:

git配置:

构建触发器的配置:

构建环境:就是发布到哪个服务器和在哪个服务器执行脚本,我还是添加两个4.61和4.62两个服务器,目录一直。

远程目录:就是把项目拉取到:/DATA/build/NZKH-FileDownloadApplication 文件夹下面

Exec命令:这个文件就是我们要执行的命令脚本文件的目录,后面我们会创建这个文件并写命令,包含构建,发布,运行 大概这几个操作

到此为止就配置完了,其余没选的或者我没截图的,默认就行

第二部分是linux部分的配置

这里我就写 4.61的配置了,因为4.62的操作完全一样操作即可

遇到的错误:

1、ERROR: Error fetching remote repo 'origin'

线上发布代码时遇到拉取不到git仓库。在网上查资料说是清理Workspaces可以解决。但是清理后还是出现同样的错误。

先排查jenkins服务器是否能访问gitlab服务器,若不能访问,检查是否是防火墙禁用22端口,若防护墙没有禁用22端口,那就看是否是阿里云禁用22端口。我出的问题是:我添加了一个4.61和4.62的服务器节点(他们服务器账号密码一样),但是我在配置项目的时候配置的是4.61的服务器节点,但是build now构建的时候,他的工作空间变成了4.62的,这样就会出现发布失败的问题。我的解决方案是:添加服务器节点的时候用法选择(他代表绑定这个节点的项目生效):

另外一个是:"尽可能使用此节点"出错是因为在发布4.61的时候就不空闲了,就会使用其他的节点

2、ERROR: Exception when publishing, exception message Exec exit status not zero. Status \[126]

我遇到这个错误,是因为.sh脚本文件没有权限

配置sh文件权限 命令:chmod 777 publish.sh

相关推荐
白猫不黑6 分钟前
网络空间安全/信息安全专业学习规划(超级详细版)
运维·学习·安全·web安全·网络安全·信息安全
裕晟资质规划13 分钟前
西安政务信息化项目涉密系统集成资质准入解析:甲级/乙级承接边界、等保差异与合规承接路径
大数据·运维·数据库·人工智能·安全·政务
lingran__27 分钟前
Linux 基础常用指令万字详解(下)|一切皆文件:重定向、管道、日志 与 Shell 原理
linux·运维·服务器·shell·管道·重定向·打包压缩
祖力5532 分钟前
进程间通信(IPC机制):无名通道与有名通道
linux·运维·服务器·进程·通信·进程间通信·ipc
XR12345678835 分钟前
连锁多分支办公网络怎么选?统一运维与快速开局是关键
运维·网络·php
天远数科1 小时前
零信任架构实战:基于天远风控经营异常预警构建自动化企业准入网关
运维·人工智能·架构·自动化
华科大胡子1 小时前
Codex 实战:用 AI 写运维脚本
运维·人工智能
今天AI了吗1 小时前
AI工作流的自动化趋势:从手动实验到自主Agent的研究范式转变
运维·数据库·人工智能·sql·机器学习·自动化·github
奶油喜多多1 小时前
教育小程序定制开发指南:从需求梳理到上线运维
运维·小程序
考虑考虑1 小时前
arthas使用
java·运维·后端