首页
视频
资源
登录
原
Jenkins常规操作(JDK,换源,凭据,git码云)
6029
人阅读
2021/4/21 17:08
总访问:
2609630
评论:
1
收藏:
1
手机
分类:
Jenkins
![](https://img.tnblog.net/arcimg/hb/3e561bcf71f1462c9fc300d92e4381d5.png) ># Jenkins常规操作(git,插件,凭据) [TOC] JDK集成 ------------ ### JAVA下载与安装 <p style="font-weight: 400;line-height: 1.5;color: #212529;-webkit-tap-highlight-color: transparent;box-sizing: border-box;padding: 0px 20px 20px 20px;border: 1px solid #e9ecef;border-left-width: .25rem;border-radius: .25rem;display: block;border-left-color: #5bc0de;"> java的官网下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 由于登录的不便,这里我找到一个linux的链接 </p> ```bash 链接: https://pan.baidu.com/s/1Xd-zDEQDMc6Q0kwZ6o3PAA 提取码: bq6s ``` >解压 ```bash # 移动到/usr/local/java/ mv jdk8u181.tar.gz /usr/local/java/ cd /usr/local/java/ tar -zxvf jdk8u181.tar.gz ``` >配置`/etc/profile`文件 ```bash $ vim /etc/profile # 在最底部加入以下内容后保存并退出 # JDK export JAVA_HOME=/usr/local/java/jdk1.8.0_181 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ``` >使配置文件生效,并检查版本号 ```bash $ source /etc/pro?le $ java -version java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode) ``` ### Jenkins中配置JDK路径 ```mermaid graph LR A(Jenkins) -->B(Manage Jenkins) B(Manage Jenkins) -->C(Global Tool Configuration) C(Global Tool Configuration) -->D(ADD JDK) ``` ![](https://img.tnblog.net/arcimg/hb/86121f1f0e6541b0a39a2c9d8b2d5918.png) ![](https://img.tnblog.net/arcimg/hb/5346249007ef4fba862dbf40985c3719.png) 插件下载改清华源 ------------ tn>jenkins的所有插件安装后需要重启才能生效,由于Jenkins国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址(清华大学源): `https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json` ```mermaid graph LR A(Manage Jenkins) -->B(Manage Plugin) B(Manage Plugin) -->C(Advanced) C(Advanced) -->D(Update Site) ``` ![](https://img.tnblog.net/arcimg/hb/866904df46ed4553aecf558552f1675f.png) <p style="font-weight: 400;line-height: 1.5;color: #212529;-webkit-tap-highlight-color: transparent;box-sizing: border-box;padding: 0px 20px 20px 20px;border: 1px solid #e9ecef;border-left-width: .25rem;border-radius: .25rem;display: block;border-left-color: #5bc0de;"> 接着我们修改服务器配置,进入jenkins安装目录 ,找到`/updates/default.json`文件 (我这里是`/var/jenkins_home/updates/default.json`),将其中的 `updates.jenkins-ci.org/download` 替换为 `mirrors.tuna.tsinghua.edu.cn/jenkins` ,然后把`www.google.com` 修改为 `www.baidu.com` </p> >进入到`default.json`所在目录 ```bash cd /var/jenkins_home/updates ``` >进行换源 ```bash # 备份 cp default.json old-default.json # 换源 sed -i 's/http:\/\/updates.jenkinsci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json ``` >替换后访问(前面的IP是Jenkins的地址)`http://127.0.0.1:8050/restart`重启jenkins 凭证配置 ------------ ### 安装凭证配置 <p style="font-weight: 400;line-height: 1.5;color: #212529;-webkit-tap-highlight-color: transparent;box-sizing: border-box;padding: 0px 20px 20px 20px;border: 1px solid #e9ecef;border-left-width: .25rem;border-radius: .25rem;display: block;border-left-color: #5bc0de;"> 凭据就是用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便 Jenkins可以和这些第三方的应用进行交互。 </p> >0.如果发现有凭据就可以跳过第一步 ![](https://img.tnblog.net/arcimg/hb/72fdd3beae2a42cf9d7bff71d364d59c.png) >1.凭证插件安装`Credentials Binding` ![](https://img.tnblog.net/arcimg/hb/65e8b4f2571a4f3dbe08d308935045e2.png) >可以进行添加凭证 ![](https://img.tnblog.net/arcimg/hb/5823237a4aa4419b854f5d2b2e9f1b46.png) >关于凭证类型总共有六种,这我这里有些插件没安装所以只有三种 ![](https://img.tnblog.net/arcimg/hb/cd753a0495624eb8b21f9b78cef0c948.png) ### 凭证类型 | 凭证类型 | 描述 | | ------------ | ------------ | | Username with password | 用户名和密码 | | GitHub APP | github的账户管理 | | SSH Username with private key | 使用SSH用户和密钥 | | Secret ?le | 需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径 设置到一个变量中,等构建结束后,所复制的Secret ?le就会被删除。 | | Secret text | 需要保存的一个加密的文本串,如钉钉机器人或Github的api token | | Certi?cate | 通过上传证书文件的方式 | 集成Git示例 ------------ <p style="font-weight: 400;line-height: 1.5;color: #212529;-webkit-tap-highlight-color: transparent;box-sizing: border-box;padding: 0px 20px 20px 20px;border: 1px solid #e9ecef;border-left-width: .25rem;border-radius: .25rem;display: block;border-left-color: #5bc0de;"> 为了jenkins能够拉取代码,需要安装Git环境和jenkins对应的Git插件 </p> >1.在可构建的主机上安装Git环境 ```bash # 安装 yum install git -y # 查看版本 git --version ``` >2.jenkins安装Git插件 ![](https://img.tnblog.net/arcimg/hb/0602d899edd5418cb68843d0f53607e8.png) ### Gitee码云对接(密码凭证) >添加凭据 ```mermaid graph LR A(Manage Jenkins) -->B(Manage Credentials) B(Manage Credentials) -->C(Add Credential) ``` ![](https://img.tnblog.net/arcimg/hb/a889dbec2698473b907ec64145f8c042.png) ![](https://img.tnblog.net/arcimg/hb/91f6b0cb49564ad4af0fba17894802b1.png) >先创建一个test项目 ![](https://img.tnblog.net/arcimg/hb/872caa8016c549f7bb4ab184485ae996.png) ![](https://img.tnblog.net/arcimg/hb/872a801adba34547b02f8a23c27b4906.png) >测试凭据是否能够使用,创建一个自由风格的job ```mermaid graph LR A(Jenkins) -->B(New Item) B(New Item) -->C(Freestyle project) ``` ![](https://img.tnblog.net/arcimg/hb/3271193771384a0bb828b222cc076fc8.png) >然后先到gitee上复制代码仓库地址,随后粘贴到git选项下的仓库链接下面 ![](https://img.tnblog.net/arcimg/hb/f7c6300784e24d8798b0ff6395a13656.png) ![](https://img.tnblog.net/arcimg/hb/f84eb8f1acd14bd08d1dbeffdc6cd153.png) >很抱歉,这里账号有点问题我直接在这里添加一下。接着我做了一个查看目录下文件信息、路径信息与查看`.gitignore`,然后点击保存。 ![](https://img.tnblog.net/arcimg/hb/e37b09d0c997441282b2a88561bc3ec9.png) ![](https://img.tnblog.net/arcimg/hb/12de5085ef5a438ea92867ccab8297b7.png) >完成保存后立即构建。 ![](https://img.tnblog.net/arcimg/hb/c408b1cdbb2c4bb887b241758056f404.png) ![](https://img.tnblog.net/arcimg/hb/4f6bbb0f9e2e40a09c5093129299bf63.png) >从日志信息中我们可以看到Jenkins的workspace目录是构建job的目录 tn>关于码云的更多与Jenkins的操作我会单独再出一篇,谢谢大家! ### Gitlab密钥凭证对接 >SSH免密登录示意图 ```mermaid graph LR A(Jenkins服务器<br/>存放私钥:id_rsa) -->B(Gitlab服务器<br/>存放公钥:id_rsa.pub) ``` >我们先到Jenkins服务器下创建公钥与私钥文件,通过下列命令在生成是我们看到它将公私钥文件放到了`/root/.ssh/`目录下。 | 文件 | 描述 | | ------------ | ------------ | | id_rsa | 私钥文件 | | id_rsa.pub | 公钥文件 | ```bash ssh-keygen -t rsa cd /root/.ssh ``` ![](https://img.tnblog.net/arcimg/hb/f0d7e61fef944c7cb21e1c2f03fe18eb.png) >然后将生成的公钥(`id_rsa.pub`)放在Gitlab中 ![](https://img.tnblog.net/arcimg/hb/0220569547e54c21a2dcdfe8036ae5b5.png) ![](https://img.tnblog.net/arcimg/hb/f970a0c9629c40808d8ea3a84ecdb498.png) >随之将私钥放入Jenkins中 ![](https://img.tnblog.net/arcimg/hb/ba57fef39e4f461fb8fe6fb313c921bc.png) ![](https://img.tnblog.net/arcimg/hb/16488286a2e9487e9d8100fa8ab1bccc.png) ![](https://img.tnblog.net/arcimg/hb/252f49499f1e410ea404c1a0a4687281.png) ![](https://img.tnblog.net/arcimg/hb/23595170c9dc4e2181f4f8df83e0db8b.png) ![](https://img.tnblog.net/arcimg/hb/37bdbb8ec9eb49b3a78f340c5d44a48a.png) >最后我们来创建一个job并拉取我们gitlab的仓库 ![](https://img.tnblog.net/arcimg/hb/a3371ea31f634c719a954360e851cb7b.png) ![](https://img.tnblog.net/arcimg/hb/0fc9ef05528c4c5a9280fbd71563d65e.png) ![](https://img.tnblog.net/arcimg/hb/52b4e1edb3a64b038a9da6c2a7f07a1d.png) ![](https://img.tnblog.net/arcimg/hb/0ecb83dee987462c83baa6417b272ba4.png) ![](https://img.tnblog.net/arcimg/hb/6ab6ca97e40f49ffacd6fbcb49463ad3.png) ## 集成Azure DevOps示例 >首先生成你的公钥与私钥 执行如下命令(如果存在就没有必要了) ```bash cd /root/.ssh ssh-keygen -t rsa ls ``` ![](https://img.tnblog.net/arcimg/hb/931d73e261544a3eb32fe6fef5dcf2b7.png) >然后我们将`id_rsa.pub`公钥放入我们Azure中。 ```bash cat id_rsa.pub ``` ![](https://img.tnblog.net/arcimg/hb/b2930dd1495a4be4b485949376981216.png) ![](https://img.tnblog.net/arcimg/hb/de426fe61f484867b87a2393a67217a0.png) >然后添加私钥到Jenkins中,注意头尾都要复制,用户名使用什么用户生成的就写什么用户,这里我是`root` ```bash cat id_rsa ``` ```bash -----BEGIN OPENSSH PRIVATE KEY----- b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn NhAAAAAwEAAQAAAYEAntNOvGCS9RWFPgfB4mAIwE3sMd0/KQns956FZZHWWgrrNk4lwdti x1PqZ6ZYnRZZfKNE3dNcF6427hSwXx77jjWqfV5D96z+Sfem4aCjp5VZjiejTIm7iNuUMv pbihXtHtpCBDiGnSFHYLc1OuFknSWONFGEHdZmkGknK9nIIFff0szOunMrQE25lbNe8Bgk hbgL5optNhALUrLhE8k4y1/gCSOVDaLcbn/W3WrireJ2fVGjQuba8b5GdlUFn4qrB1EcEz OC4UwleohuBv4lQpcifkJC9Db+D0upzka8pJQt4egVcAUmzwZouMgGalhJCyr8Ra1PZsCF yoI6YR9VR9jriNQWD/OM4pbCYyh3txa8cJYbuRK2D6+lt21YRmEqhDX65Ei4VwDvLzsBqV GvNIGDGnq152pecixgt/fv6S8XESj7gkq07ccoKDaTaBfAnKxiu3qgJjJ8qSAbHmCiaMEo 7T/qxm2ODZr7r8iek/F65wsOeJZ5eA/FM+Q5i6JDAAAFmAjJjWMIyY1jAAAAB3NzaC1yc2 EAAAGBAJ7TTrxgkvUVhT4HweJgCMBN7DHdPykJ7PeehWWR1loK6zZOJcHbYsdT6memWJ0W WXyjRN3TXBeuNu4UsF8e+441qn1eQ/es/kn3puGgo6eVWY4no0yJu4jblDL6W4oV7R7aQg Q4hp0hR2C3NTrhZJ0ljjRRhB3WZpBpJyvZyCBX39LMzrpzK0BNuZWzXvAYJIW4C+aKbTYQ C1Ky4RPJOMtf4AkjlQ2i3G5/1t1q4q3idn1Ro0Lm2vG+RnZVBZ+KqwdRHBMzguFMJXqIbg b+JUKXIn5CQvQ2/g9Lqc5GvKSULeHoFXAFJs8GaLjIBmpYSQsq/EWtT2bAhcqCOmEfVUfY 64jUFg/zjOKWwmMod7cWvHCWG7kStg+vpbdtWEZhKoQ1+uRIuFcA7y87AalRrzSBgxp6te dqXnIsYLf37+kvFxEo+4JKtO3HKCg2k2gXwJysYrt6oCYyfKkgGx5gomjBKO0/6sZtjg2a +6/InpPxeucLDniWeXgPxTPkOYuiQwAAAAMBAAEAAAGBAJgHsw2U7/cUE4gOCuRzgsz5ig ctPoE9FAzvO8e+8s0cOIyx/2hyZTpiNDXlQFuWAjDRZGFmKXgtdj0tpqpW0PsOmdUJv8u8 V2lcWu0NRLpstt3hSWpBSTc24MRva+JhHKp0x86cgRa1vUpx9M0Y5aObSGUCRpH9Ig5H6Y wLGosDMqfpDlXhWlxiSixnF5CBu6wYQaP7i5C9iOkve03iRrA+ZQi6e7oi1Bgd3QHzh2pl JYDN/ZZTvu66cV5iAlD2fUAWuLPLqX6YX2Dk+QUEsgpeAQWh/UwP+OB80Zi9ZldKYXg8Eq YkFRvw5p6C5p1nXbAgVXcspJ4ono1Rmid7frOG6Tj7SFtRGX4c+9E83Cp1hnbzsK1eOSFj TSySuHoNaoSDfc2Mk+Sl528GLk6sAFuzIPRq/n6rZw9tflVov88KmzRz7rzUWQZdvIjV/i PTk3zjHidlDXyHNdlh2IgPtUNgcJ2tlU18JMWLVUsyn5vGjR258LkiObdTDIPyTWWY4QAA AMByKEUNo7jglEYt4CikNMDdVy/VknhVxT9Uak4jl7QX2Y6QtrxP+AAiYmygSy9lODA... Bmk67tHIGRSKQzAAAAG3Jvb3RAY25zdnI2NC5pbmRvbS5pbnRlcm5hbAECAwQFBgc= -----END OPENSSH PRIVATE KEY----- ``` ![](https://img.tnblog.net/arcimg/hb/17a2d4173e754c9bb95878f4c4e85696.png) >现在就可以了 然后我们可以通过创建一个项目简单方式进行测试一下。 ![](https://img.tnblog.net/arcimg/hb/b0b80ca4bec045e186b2e467eef5e0c7.png) ![](https://img.tnblog.net/arcimg/hb/9913a456feb9478eb48b2d09210d17b3.png) ![](https://img.tnblog.net/arcimg/hb/f21a17e13fdc4f2c9da505c8c1b38d37.png) ![](https://img.tnblog.net/arcimg/hb/a3b8700284584cfa8fa09840d69de19c.png)
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
👈{{preArticle.title}}
👉{{nextArticle.title}}
评价
{{titleitem}}
{{titleitem}}
{{item.content}}
{{titleitem}}
{{titleitem}}
{{item.content}}
尘叶心繁
这一世以无限游戏为使命!
博主信息
排名
6
文章
6
粉丝
16
评论
8
文章类别
.net后台框架
168篇
linux
17篇
linux中cve
1篇
windows中cve
0篇
资源分享
10篇
Win32
3篇
前端
28篇
传说中的c
4篇
Xamarin
9篇
docker
15篇
容器编排
101篇
grpc
4篇
Go
15篇
yaml模板
1篇
理论
2篇
更多
Sqlserver
4篇
云产品
39篇
git
3篇
Unity
1篇
考证
2篇
RabbitMq
23篇
Harbor
1篇
Ansible
8篇
Jenkins
17篇
Vue
1篇
Ids4
18篇
istio
1篇
架构
2篇
网络
7篇
windbg
4篇
AI
18篇
threejs
2篇
人物
1篇
嵌入式
2篇
python
13篇
HuggingFace
8篇
pytorch
9篇
opencv
6篇
Halcon
1篇
最新文章
最新评价
{{item.articleTitle}}
{{item.blogName}}
:
{{item.content}}
关于我们
ICP备案 :
渝ICP备18016597号-1
网站信息:
2018-2024
TNBLOG.NET
技术交流:
群号656732739
联系我们:
contact@tnblog.net
欢迎加群
欢迎加群交流技术