java 持续集成发布测试环境
1.安装jenkins
2.安装gitlab
3.idea导入代码(spring官网下载eureka)
1.下载地址
https://spring.io/projects/spring-cloud-schema-registry#samples
https://github.com/spring-cloud/spring-cloud-stream-samples/tree/master/schema-registry-samples
4.配置本地git repo到 gitlab
4.1安装git后 配置生成sshkey
git config --global user.name “your username”
git config --global user.email “[email protected]”
ssh-keygen -t rsa -C “[email protected]”
按3个回车,密码为空。
4.2 在C:\Users\user.ssh 目录生成id_rsa和id_rsa.pub
copy id_rsa.pub 文件粘贴到下图所示
4.3 新建项目将源码推送到gitlab
在下载的对应项目里 右键git bash
git init
git remote add origin [email protected]/你的github用户名/仓库名.git
git add .
git commit -m “commit的原因”
git push -u origin master
5.配置jenkins自动检测 gitlab代码变化
5.1 配置jenkins使用maven项目
其他配置默认 这里截取一些配置截图
5.2 允许gitlab 使用webhook
5.3 配置jenkins新建maven项目的 url
6.配置jenkins构建部署脚本
6.1 jenkins配置
6.2 脚本内容(此脚本参考csdn 论坛 hosaos 作者)
app=$1
#port=$2
path=/opt
#echo this is app : $app
echo port : $port
#若项目已启动,杀死旧进程
api_pid=`ps -ef | grep "$app.jar" | grep -v grep | awk '{print $2}'`
echo api_pid = $api_pid
if [ "$api_pid" != "" ]; then
echo kill api
kill -9 $api_pid
echo sleep 3s
sleep 1
echo sleep 2s
sleep 1
echo sleep 1s
sleep 1
fi
#将jar包从jenkins工作空间中移动到指定路径下
mv /root/.jenkins/workspace/$app/target/$app.jar $path/$app
cd $path/$app
chmod +x $app.jar
#防止进程被杀死
BUILD_ID=dontKillMe
#后台进程形式启动项目
#nohup java -jar -Dserver.port=$port -Xmx256m -Xms128m $app.jar &
nohup java -jar -Xmx256m -Xms128m $app.jar &
echo $app start success
exit 0
7 验证服务编译部署
更改端口
commit后push代码
页面访问成功