前提
安装jenkins之前要先安装好JDK和Maven以及git三个内容,相关安装文章
JDK、Maven和Tomcat安装:
git安装:
下载安装Jenkins
前往官网地址下载jenkins相关内容
下载地址
https://www.jenkins.io/zh/download/
根据自己的linux版本进行选择进入后如下:
按顺序执行命令如下
安装完成!
注意:另一种方式可以直接下载包到本地然后上传到服务器安装
默认情况下:yum install 安装的jenkins目录在 /var中,打开文件夹进去找到名字为jenkins的目录即可
配置jenkins
第一步:
vim /etc/sysconfig/jenkins
配置jenkins的端口。注意:默认账号是jenkins
第二步:配置jenkins和java对应的路径
vim /etc/init.d/jenkins
第三步:启动
sudo systemctl start jenkins
jenkins 状态查看
sudo systemctl status jenkins
可能的问题:
解决:
使用Ip+端口访问得到如下内容:
- cat下红色的路径即可获取初始密码
- 弹出的插件直接安装推荐的。
- 根据步骤配置默认admin账号
项目自动化部署前准备
登录账号配置一些重要的东西。
插件可以根据需要进行选择百度
而全局工具配置则必须要自己配置
配置好git、jdk、maven的本地路径, 就需要对credentials进行配置,作用类似于使用git拉代码的时候需要登录的账号密码和地址一样
jenkins自动化部署vue项目
新建任务
进入后内容如下:只配置了重要的选项,其他的可以自行选择百度
vue项目shell执行内容(参考):
echo "检查环境"
node -v
npm -v
echo "进入项目,本路径是相对的,即找到jenkins下载的项目"
cd /var/lib/jenkins/workspace/myVue
echo "安装依赖"
cnpm install
echo "删除当前dist文件夹所有内容"
rm -rf ./dist/*
echo "删除目标服务器路径的内容,即要将内容部署的目标服务器"
rm -rf /usr/local/myapp/webserver/nginx/html/*
echo "开始打包"
npm run build
echo "打包重新获得dist文件夹内容,并且复制到目标服务器"
cp -rf ./dist/* /usr/local/myapp/webserver/nginx/html
注意:vue打包时候会需要nodeJs环境因此linux必须要保证安装了nodejs
nodejs安装:
参考文章:
1.https://www.jianshu.com/p/1d07b986ab2c
2.http://www.yihaomen.com/article/1827.html
另一种形式:也可以直接将命令放置在.sh的文件中然后执行
jenkins自动化部署java项目
进入后内容如下:只配置了重要的选项,其他的可以自行选择百度
java项目shell执行内容(参考):
echo "确保jenkins进程结束后不会杀死当前的运行服务"
BUILD_ID=DONTKILLME
echo "通过路径找到本项目直属jar包启动即可"
nohup java -jar /var/lib/jenkins/workspace/myjava/target/study-0.0.1.jar &
直接找到项目对应的jar包启动并挂载于后台即可
另一种形式:也可以直接将命令放置在.sh的文件中然后执行
参考文章:
1.https://www.jianshu.com/p/9093c24b6946 2. 3.
问题解决
问题1: npm: command not found
解决方案1:
解决方案2:安装jenkins的node插件
问题2:npm install总是出现node-sass 报错之类的,导致打包不成功!
将npm 改为 cnpm 即可
如:
npm install -g cnpm --registry=https://registry.npm.taobao.org
ln -sf /usr/local/myapp/node/bin/cnpm /usr/local/bin/
问题3:
解决方式
chown -R jenkins:jenkins /usr/local/myapp/webserver/nginx/html
注:服务器上安装jenkins时,会在服务器上默认创建一个jenkins的用户因此直接赋值即可