Jenkins常规操作(JDK,换源,凭据,git码云) 电脑版发表于:2021/4/21 17:08  ># 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) ```   插件下载改清华源 ------------ 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) ```  <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.如果发现有凭据就可以跳过第一步  >1.凭证插件安装`Credentials Binding`  >可以进行添加凭证  >关于凭证类型总共有六种,这我这里有些插件没安装所以只有三种  ### 凭证类型 | 凭证类型 | 描述 | | ------------ | ------------ | | 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插件  ### Gitee码云对接(密码凭证) >添加凭据 ```mermaid graph LR A(Manage Jenkins) -->B(Manage Credentials) B(Manage Credentials) -->C(Add Credential) ```   >先创建一个test项目   >测试凭据是否能够使用,创建一个自由风格的job ```mermaid graph LR A(Jenkins) -->B(New Item) B(New Item) -->C(Freestyle project) ```  >然后先到gitee上复制代码仓库地址,随后粘贴到git选项下的仓库链接下面   >很抱歉,这里账号有点问题我直接在这里添加一下。接着我做了一个查看目录下文件信息、路径信息与查看`.gitignore`,然后点击保存。   >完成保存后立即构建。   >从日志信息中我们可以看到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 ```  >然后将生成的公钥(`id_rsa.pub`)放在Gitlab中   >随之将私钥放入Jenkins中      >最后我们来创建一个job并拉取我们gitlab的仓库      ## 集成Azure DevOps示例 >首先生成你的公钥与私钥 执行如下命令(如果存在就没有必要了) ```bash cd /root/.ssh ssh-keygen -t rsa ls ```  >然后我们将`id_rsa.pub`公钥放入我们Azure中。 ```bash cat id_rsa.pub ```   >然后添加私钥到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----- ```  >现在就可以了 然后我们可以通过创建一个项目简单方式进行测试一下。    