jenkins(1)-初见
This commit is contained in:
parent
66e7d52717
commit
ec3693ffe1
105
source/_posts/Java/jenkins(1)-初见.md
Normal file
105
source/_posts/Java/jenkins(1)-初见.md
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
---
|
||||||
|
title: jenkins(1)-初见
|
||||||
|
date: 2018-11-7 10:08:13
|
||||||
|
categories:
|
||||||
|
- Java
|
||||||
|
tags:
|
||||||
|
- 持续集成
|
||||||
|
---
|
||||||
|
Jenkins是一款由Java编写的开源的**持续集成**工具
|
||||||
|
持续集成是用于解决频繁迭代带来的运维方面的工作, 使这些工作可以使用脚本自动完成
|
||||||
|
包括拉取代码更新、编译打包、部署运行等
|
||||||
|
|
||||||
|
<!-- more -->
|
||||||
|
|
||||||
|
### 环境搭建
|
||||||
|
#### 使用war包
|
||||||
|
可以从[官网](https://jenkins.io/)下载war包
|
||||||
|
执行
|
||||||
|
```bash
|
||||||
|
java -jar jenkins.war
|
||||||
|
```
|
||||||
|
默认在8080端口运行
|
||||||
|
运行之后访问可以进行初始化操作
|
||||||
|
输入首次运行时生成的初始化密码
|
||||||
|

|
||||||
|
之后安装推荐插件, 设定管理员用户名和密码, 即可开始使用
|
||||||
|
|
||||||
|
#### 使用Docker镜像
|
||||||
|
```bash
|
||||||
|
# 拉取镜像
|
||||||
|
docker pull jenkins/jenkins:lts
|
||||||
|
|
||||||
|
# 运行容器
|
||||||
|
docker run -d -p 8080:8080 --name jenkins jenkins/jenkins:lts
|
||||||
|
```
|
||||||
|
之后`docker logs [containerId]`查看容器的运行日志可以看到初始化密码
|
||||||
|
初始化的操作同上
|
||||||
|
|
||||||
|
### 创建远程节点
|
||||||
|
初始化完毕之后, 已经有一个默认节点, 是jenkins程序运行所在的主机
|
||||||
|
如果要对其他主机进行远程操作, 则需要创建节点
|
||||||
|
|
||||||
|
系统管理 → 节点管理 → 新建节点
|
||||||
|
配置新节点的信息
|
||||||
|
|
||||||
|

|
||||||
|
这里使用SSH连接, 并且设定用户名和密码
|
||||||
|
|
||||||
|
### 创建任务
|
||||||
|
首页点击`新建任务`
|
||||||
|
勾选**限制项目的运行节点**, 并且输入刚才创建的节点名称
|
||||||
|

|
||||||
|
|
||||||
|
源码管理当中设定远程仓库的地址
|
||||||
|
(如果是私有仓库需要设置凭据)
|
||||||
|

|
||||||
|
|
||||||
|
编写构建shell
|
||||||
|
```bash
|
||||||
|
# BUILD_ID设定后可以保持server进程持续运行
|
||||||
|
BUILD_ID=DONTKILLME
|
||||||
|
|
||||||
|
export TOMCAT_PATH=/root/apache-tomcat-9.0.12
|
||||||
|
|
||||||
|
bash /root/deploy.sh
|
||||||
|
```
|
||||||
|
### 编写deploy.sh
|
||||||
|
```bash
|
||||||
|
#!/bin/bash
|
||||||
|
#编译+部署
|
||||||
|
# 输入你的环境上tomcat的全路径
|
||||||
|
# export TOMCAT_PATH=tomcat在部署机器上的路径
|
||||||
|
|
||||||
|
### base 函数
|
||||||
|
killTomcat()
|
||||||
|
{
|
||||||
|
pid=`ps -ef|grep tomcat|grep java|awk '{print $2}'`
|
||||||
|
echo "tomcat Id list :$pid"
|
||||||
|
if [ "$pid" = "" ]
|
||||||
|
then
|
||||||
|
echo "no tomcat pid alive"
|
||||||
|
else
|
||||||
|
kill -9 $pid
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
mvn clean package
|
||||||
|
|
||||||
|
# 停tomcat进程
|
||||||
|
killTomcat
|
||||||
|
|
||||||
|
# 删除原有工程
|
||||||
|
rm -rf $TOMCAT_PATH/webapps/ROOT
|
||||||
|
rm -f $TOMCAT_PATH/webapps/ROOT.war
|
||||||
|
rm -f $TOMCAT_PATH/webapps/order.war
|
||||||
|
|
||||||
|
# 复制新的工程
|
||||||
|
cp ./target/order.war $TOMCAT_PATH/webapps/
|
||||||
|
# 重命名
|
||||||
|
mv $TOMCAT_PATH/webapps/order.war $TOMCAT_PATH/webapps/ROOT.war
|
||||||
|
|
||||||
|
# 启动Tomcat
|
||||||
|
sh $TOMCAT_PATH/bin/startup.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
之后执行`立即构建`
|
||||||
BIN
source/images/Java/jenkins/init_password.jpg
Normal file
BIN
source/images/Java/jenkins/init_password.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 45 KiB |
BIN
source/images/Java/jenkins/源码管理.jpg
Normal file
BIN
source/images/Java/jenkins/源码管理.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
BIN
source/images/Java/jenkins/配置远程节点.jpg
Normal file
BIN
source/images/Java/jenkins/配置远程节点.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
BIN
source/images/Java/jenkins/限制项目的运行节点.jpg
Normal file
BIN
source/images/Java/jenkins/限制项目的运行节点.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
Loading…
x
Reference in New Issue
Block a user