(一)、接上一节,正常安装Jenkins环境之后,先配置Jenkins的Global Tool Configuration 和Configure System
1、先配置Global Tool Configuration,具体操作如下图所示:
然后进入下一个界面
先配置jdk,如下图所示:
配置完成,之后 ,点击 apply 或者 save 按钮。
2、安装Publish over SSH插件
进入下一步,搜索插件,进行安装
安装完成之后从新启动,查看如下图所示表示成功!
3、设置Configure System
进入 Configure System界面,进行github的配置
然后进行github配置
然后进行Publish over SSH 配置
Publish Over SSH插件安装完成后,在“系统设置”中会出现“Publish Over SSH”的配置标签
ssh的配置可使用密钥,也可以使用密码,这里我们使用密钥来配置,在配置之前先配置好jenkins服务器和应用服务器的密钥认证
jenkins服务器上生成密钥对,使用ssh-keygen -t rsa命令
在~/.ssh/下会有私钥id_rsa和公钥id_rsa.pub
应用服务器上创建~/.ssh文件夹和~/.ssh/authorized_keys文件,并将jenkins服务器的公钥id_rsa.pub中的内容复制到authorized_keys文件
应用服务器上重启ssh服务,service sshd restart
现在jenkins服务器可免密码直接登陆应用服务器
Passphrase:密码(key的密码,如果你设置了)
Path to key:key文件(私钥)的路径
SSH Server Name:标识的名字(随便你取什么)
Hostname:需要连接ssh的主机名或ip地址,此处填写应用服务器IP(建议ip)
Username:用户名
Remote Directory:远程目录(根据需要填写文件传到此目录下)
(1)如果选择,点击“Use password authentication, or use a different key”,
Passphrase / Password:这里填写username登录名对应的密码
(2)如果使用密钥认证所以不开启,就不开启“Use password authentication, or use a different key”
配置完成后可点击“Test Configuration”测试到目标主机的连接,出现”success“则成功连接
然后 save或者apply,退出到Jenkins主界面。
(三)创建一个部署应用
第一步
第二步,首先去自己的登录自己github,然后进入
如果想使用idea中 github提交代码push 之后,就打包发布,可以选择,打钩,保存 即可
第三步
第四步,
以下 是我的当前的配置,如果自己要用根据自己当前环境,进行配置即可:
Source files:build/libs/demo-gradle-0.0.1-SNAPSHOT.jar
Remove prefix:build/libs
Remote directory: demo-service
Exec command:
ps -ef|grep demo-gradle-0.0.1-SNAPSHOT.jar | grep -v grep | grep -v /bin/sh | awk '{print $2}' | xargs kill -9
cd /apps/demo-service/backup
mkdir ${BUILD_NUMBER}
cd ${BUILD_NUMBER}
cp ../../demo-gradle-0.0.1-SNAPSHOT.jar .
cd /apps/demo-service/
nohup /usr/local/java/jdk1.8.0_162/bin/java -jar /apps/demo-service/demo-gradle-0.0.1-SNAPSHOT.jar > nohup_eam_service.log &
配置以上如果在不出错的情况下就能正常使用了
点击
点击
至此 一个完整的部署 就结束了
以下 说一下 我在部署中遇到的一个错误,关于jdk的,如下图所示
找了 好半天 ,才搞好,说找不到 libjli.so 这个文件,但是我在jdk下面找到了 ,但是 就是不能正常访问。
解决方法:
在自己jdk下面进行查找:我的当前目录是 /usr/local/java/jdk1.8.0_162/jre/lib/amd64/jli/libjli.so
所以在liunx控制台,进行如下操作,将 libjli.so拷贝到/usr/lib/目录下,发现是默认去这个目录找,所以拷贝到这个目录,就可以了。以下是我的目录下,如下操作:
cp /usr/local/java/jdk1.8.0_162/jre/lib/amd64/jli/libjli.so /usr/lib/