作者:低调的小男2502928607 | 来源:互联网 | 2023-08-14 13:33
如果按照前面的安装方法,Jenkins和Git应该已经可以用WEB打开了,下面我们来介绍怎么配置,怎么使用。本分前半部分我们先用Jenkins配和Git实现定时构建检测代码并将代码
如果按照前面的安装方法,Jenkins 和 Git 应该已经可以用WEB打开了,下面我们来介绍怎么配置,怎么使用。本分前半部分我们先用Jenkins配和Git实现定时构建检测代码并将代码分发到生产环境的服务器。
Maven + Neuxs 我们后续再继续更新ing……先来实现基本功能。
注:如果你的环境和下面“准备环境”中不一样,请参考前面的文章,准备好环境再来看本文。
准备环境安装地址汇总:https://blog.csdn.net/weixin_37973929/article/details/84028708(安装所有环境的地址在此URL的最下面)
准备环境:
系统:Cent OS 7
jenkins:IP地址:8080 (Web页面已经可以打开)
Git:IP地址:80 (Web页面已经可以打开)
————————————————Jenkins—————————————————–
我们先来看 jenkins 的配置
创建账户:
直接跳过
到达首页
安装插件:
安装页面最下面勾选自动重启选项
Jenkins 我们就先做到这里,下面我们开始Git的配置安装。
———————————————–Git————————————————————-
我们先来看Git 的配置
到达登录页面,我们以刚才的root账户登录。
至此,jenkins和git的准备操作都已完成。继续往下走。
———————-Jenkins 配合 git 定期检测代码,并发送至生产机器———————-
首先,我们再jenkins的机器上 生成 Key,如果你的机器已经有key。可直接跳到第二步。
一、检查SSH-KEY是否已经生成过。
ls -al ~/.ssh
二、生成新的SSH-KEY(在当前用户目录下,我的是root)
ssh-keygen -t rsa -C "root@192.168.73.170"
三、生成成功
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:liJa5msRT4uS8v4S1UZwvbU/SSTT8wrA6nm9PLxpS68 root@192.168.73.170
The key's randomart image is:
+---[RSA 2048]----+
| ...o . |
| .. + + + |
| o . + = o |
| o = ..o . . |
| o+B.oS. + o |
|. +=o.=o. . = |
| o.o.. . o.. . |
| o .. .*o |
| ..+o .E=. |
+----[SHA256]-----+
四、查看生成成功的KEY
ls /root/.ssh/
id_rsa :私钥
id_rsa.pud:公钥
五、将id_rsa.pub的内容添加到GitLab。按照下面截图操作
进入页面之后 填写jenkins的公钥
接下来创建一个项目组。
填写项目组信息
在项目组中创建 新的项目。
填写项目信息。
创建一个测试文件,内容随便写。
接下来,我们测试一下是否可以在jenkins上拉取该文件。
1、我们在root目录下创建一个code,并进入到code目录。
mkdir /root/code
cd /root/code
2、执行命令:
注:git clone git@Git服务器IP地址:项目组名称/项目名称
git clone git@192.168.73.155:test-git/my-one-test-projecty-.git
我们进去看看是不是已经拉取下来了。
接下来开始实现将代码发送到生产服务器。
准备一台虚拟机当做生产机器。
我准备的机器IP是:192.168.73.171 下面简称“生产机”
在生产机自定义一个路径,然后创建一个文件夹。我在/root下创建了一个/data文件夹来模拟生产环境中的生产目录。
然后我们打开jenkins创建一个新的任务。
点击“新建任务”。
起一个名字,选择自由风格。点击确定。
来到下一个页面。(该页面内容较多,多个截图展示。)
截图一:这个截图中不用做任何修改。
截图二:在源码管理中 选择“Git”
添加凭证:中间的Enter directly中,写的是Jenkins的机器私钥!!!后面不要有空格。
截图三:选择root账号。点击保存。
接下来我们回到首页,就看到了刚才创建的任务。
点击名称进入项目,向下拉。会看到“构建”这个选项。打开下拉菜单,我们选择shell。
开始进行测试,这里我们可以写两条命令。下面截图中 “testfile” 是你要同步的文件名称,”data”是生产环境的目录。
tree命令:打印目录结构。一般系统没有tree命令可以使用:yum 来安装
安装tree命令:yum install -y tree
命令一:tree
scp命令:发送到某服务器。
命令二:scp -r test root@生产服务器IP:/data/
这些都配置好之后,我们回到jenkins机器,用jenkins账号生成一对密钥,用于对生产机器做访问。
1、在jenkins机器上 切换到jenkins
su -s /bin/bash jenkins
2、执行生成密钥命令
ssh-keygen -t rsa -C "jenkins@192.168.73.170"
执行下面的命令,将jenkins的账号公钥发送到生产服务器。
ssh-copy-id root@生产服务器IP
没有登陆上去,不要紧。其实已经成功了。
我们来到jenkins的任务页面,点击立即构建。
这个时候我们去生产服务器的目录下就可以看到文件已经同步了。
接下来我们来实现定是检测,如果有改动,我们就将内容同步到生产服务器。
我们找到“构建触发器”,选择“定是构建”。我写的“ * * * * * ”表示每分钟检测一次。截止到这一步,我们就实现了 定是检测代码,并分发到生产服务器。