记录搭建使用自动构建 - jenkins
由于自己会写一些小的项目,部署到腾讯云上,每次都甚是繁琐。
以springboot项目为例,打jar,上传jar,到服务器,手动启动等等。
随着项目的增大增多,现在公司大都用自动构建,多数用jenkins + k8s或docker容器搭配或者gitlab等,所以自己决定手动搭建一个辅助项目部署。
第一次: 高估了水管,低估了jenkins

第二次: 搭建虚拟机
本来打算搭建一个打包服务器,配置低配置的就ok了,结果还是考虑的少了,jdk,mvn,git等,尤其是私有mvn仓库,上传了本机的repo后,机子内存就不多了,结果在构建了几次后提示:空间不足!
第三次: 增加磁盘容量
最后安装了个较大容量的centos系统,安装了环境之后,成功构建了!
最后写了个post-step,在构建之后scp 命令把jar上传到服务器的web目录,并ssh到目录,nohup运行之,完美!
jenkins构建完成后post-step

服务进程

虽然不是什么高深的东西,但是搞出来了还是很欣慰,顺便学习了shell的expect命令的用法,贴上脚本:
#!/usr/bin/expect
set timeout 20
set host ""
set password ""
# 传输文件
spawn scp target/openapi-1.0.jar root@$host:/www/wwwroot/openapi/openapi-1.0-remote.jar
expect {
"yes/no" {send "yes\n";exp_continue}
"password:" {send "$password\n"}
}
# 登陆ssh
expect "]*"
spawn ssh root@$host
expect {
"yes/no" { send "yes\n"}
"password:" { send "$password\n" }
}
# 杀进程
# expect "]*"
# send "ps -ef | grep openapi | grep -v grep | awk \"{print $2}\" | xargs kill -9\r"
# 启动
expect "]*"
send "cd /www/wwwroot/openapi;sh start.sh&\r"
expect "]*"
send "exit\n"