【第一步:源码拉取】
1.在哪Jenkins服务器生成密钥对:
# ssh-keygen -t rsa -- 可以什么都不输入,一路"Enter"键
2.cd /root/.ssh/
# id_rsa -- 私钥
# id_rsa.pub -- 公钥
3.使用root/gitlab123或者管理员账号登录gitlab设置ssh密钥
4.gitlab页面内:头像 --> Settings(设置) --> 左侧菜单:"SSH密钥" -->这里需要输入公钥内容
5.获取公钥内容:cat /root/.ssh/id_rsa.pub
[root@centos01 .ssh]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDsuuJ4aFMZUKCIoBs88rnrP4hjCXlpXo3Jui5rGKgWYNjFeczWEj3XIU0JoZGsR6cYKj8kOlgqP7xqHXDUWzNM0qm1me1jElCNiBbemQZZcM3DqDL6TNXMN94TebabOc+i1qENH+fQcBOWrWvtE3vRCUe/EuE2etqo5esGsu1KOG9iN8q+fIwPMWakopT5ULv1UxrUYQyAjhk0OnreY4BwRwdk6rxxM0jYVoUEmy7ex3mbK64d/k0IO8nrEq2BvL1sD9dPm8Vwa+IuSeg4+D3TMO7XdWr1k8pxYfgn+wlMoWUI+RwgAy3v4HFYNavvxKDoFAKjRKEsx1bGwBPMZ/UF root@centos01
6.将公钥内容复制到gitlab的SSH Keys中 --> "添加密钥"("Add key")
7.登录到Jenkins管理页面,添加管理私钥 --> Jenkins“凭据”--> "添加凭据"
8.选择:“SSH Username with private key”
9.输入用户名:root (生成密钥key的账户)
输入描述信息:"gitlab-ssh-auth"
10.选择"Enter directly",直接输入下面获取的私钥key
添加私钥内容:cat /root/.ssh/id_rsa
[root@centos01 .ssh]# cat /root/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA7LrieGhTGVCgiKAbPPK56z+IYwl5aV6NybouaxioFmDYxXnM
1hI91yFNCaGRrEenGCo/JDpYKj+8ah1w1FszTNKptZntYxJQjYgW3pkGWXDNw6gy
+kzVzDfeE3m2mznPotahDR/n0HATlq1r7RN70QlHvxLhNnraqOXrBrLtSjhvYjfK
vnyMDzFmpKKU+VC79VMa1GEMgI4ZNDp63mOAcEcHZOq8cTNI2FaFBJsu3sd5myuu
Hf5NCDvJ6xKtgby9bA/XT5vFcGviLknoOPg90zDu13Vq9ZPKcWH4J/sJTKFlCPkc
IAMt7+BxWDWr78Sg6BQCo0ShLMdWxsATzGf1BQIDAQABAoIBADDx2s0mVLgRMX/O
CpOpY8M92YcQeGfOwuYIdnxyFp6521fI/Q7tqpeGLRVmsGW8UtHuOivVXFEv6FbQ
S3m8eXjSvX/smWY4bSs2DfRsEyH+7qwbZJ7XsASPMH06VwT1CPcUBSxfgmBYK9Sl
eoED3D+1+X2J+8J12Cu/jb5O1DzZ1GndpkRkmPMPmJffG/seBNa6OjGjLZ8KSutr
WKQS3Klb0KpdjrnhK+tE+yO102LbMJAkVa4l3L283vQXVFdedZh1rGt8vuI4nfHv
hG4iDtT6QxsDRRXZp5gk3aZrt1sPiHlqouYt9P/UbDv30Y+cYGvhpEodaIYInjEV
kCJqFKkCgYEA/D1Fgs5AkYWpE5oB5CsTn0he6HQ/4gfv93CTLArfyi/32ze9dtuf
9cSA1KGryTfLBGBSyo3MjLqwT8NTvkmZhzA/+KnYn9pGWaT8NvCj6Vq1E+J4lujg
q9vw+rHPlAh8nWVzx4ZkW6BLgkA2mlNA7jhn4yKnJx2m86Pm2Y++oSsCgYEA8EJr
FIx2hYVAnPYAjnQx2kWDdrufC4UzujLG7wMPA9JX0zmRAZSE+DtN1zem5yHHmzen
/0n/I5MAtsiYbCBkkDj0PbHx9OZgLI4JcbIB8DRyyPwL5y+Zli4gNSJCUqO5tAKI
FTezZIJDgQQLW67EKQbrQpw0YcXzh/H+8+FAyo8CgYEAtSLvAvNIbPhWJaxoBUll
6vGWrkmlApV+nuup1Gvur4xo6nUJywwGwAAgIBIFghdd5EOj0K+pn7oFGRKE1daW
uP1OQyz9UjX2ZTPUp0OCAfbQqHnu7ThI90GXuP/tuDmr+3+6eCMreJ0Q/HVOgN6e
dzPsbrEY5j8mADrIcZ4HYEcCgYEA2EEgOu23XLU1FFLE63QgzzOUghGctXTeu3Eq
6EWbhTgWPxRotcBl8z0F8nqwKwiXrtloyHtlQDL4CI4DzAdYHQx2ovWBMIsP8+qh
C4pK/ldnHgrn9947Yxb/fHPquJGP/DvvGxH40bYCZqUqSArFm5wTs+//oiXX7vxe
HEwa0ncCgYAgrpFmPuxkQqtNSCLZRFPTTUiyyuIav6PT6Cc8FCOzmYEBInyHt/K9
6g7brHODNRidHe4ed/imnuorb3Br6ku2OEbyphEj4hwhvTg//Vv5AXz5KisbVjL/
nFsCfURk85gJKwn83P2sRKdxJsWMNcd8CXupCtGX26Uc0qC8kOCpig==
-----END RSA PRIVATE KEY-----
11.点击"确定"
12.回到主页面,添加项目:"新建Item" --> 输入项目名,如"test_demo" -->"构建一个maven项目" -->确定
13.配置项目"源码管理"区域 --> “Git”--> 输入gitlab仓库的ssh项目路径 --> 指定"Credentials"密钥 --> "应用" --> "保存"
Repository URL:ssh风格的url
点击"Build Now",开始构建,构建完成到jenkins机器的"/var/lib/jenkins/workspace"目录下查看代码是否"拉取"成功!!!
接下来配置"构建"与"发布"流程
【第二步:配置构建与发布源码】
1.点击项目"test_demo" --> "配置" --> "Build(构建)"区域
Goals and options:"clean compile install package -Dmaven.test.skip=true"
"高级" --> MAVEN_OPTS:"-Dfile.encoding=UTF-8"
2.[可选]"Post Steps" - -> 点击"Add post-build step" --> 选择"Send files or execute commands over SSH"
选择要发布的Tomcat服务器:
Name:随便取一个
Transfers -->
Source files:**/*.war
Remote directory:/webapps
3.配置安装好的用于发布的Tomcat
# vim apache-tomcat-8.5.59/conf/tomcat-users.xml
添加如下配置:
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat123" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>
# vim apache-tomcat-8.5.59/webapps/manager/META-INF/context.xml
注释掉如下内容:
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
# 在Jenkins界面中添加上面配置的Tomcat访问"凭据":
"添加凭据" --> 类型:"username with password" -->用户名/密码:tomcat/tomcat123,描述:"tomcat-auth" --> "确定"
4."构建后操作"区域 --> "增加构建后操作步骤" --> 选择"Deploy war/ear to a container"
WAR/EAR files:target/*.war
Context path:可以为空
Containers:选择上面配置好的对应的Tomcat版本,
(
Credentials:选择上面配置的凭据"tomcat-auth"
Tomcat URL:tomcat对应的http://ip:port
)
点击"应用" --> "保存"
5.点击"Build Now",开始构建,构建完成到jenkins机器的"/var/lib/jenkins/workspace"目录下查看代码是否拉取成功!!!