1.安装JDK
2.安装maven
Linux安装配置Maven
1)下载Mavenhttp://maven.apache.org/download.cgi
2)在/usr/local下创建文件maven
3)解压Maven 到 /usr/local/maven 文件夹
4)修改Maven本地仓库地址 vim conf/setting.xml
5)修改Maven远程仓库地址为阿里云 (下载快)
6)vim 进入配置环境编辑 vim etc/profile
export MAVEN_HOME=/usr/local/maven/apache-maven-3.5.0
export PATH=${PATH}:${MAVEN_HOME}/bin
7)查看Maven环境变量是否生效和安装 mvn -v echo $MAVEN_HOME
3.安装tomcat
1)在server.xml 配置utf-8编码
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
2)配置tomcat账号密码
vim ../conf/tomcat-users.xml
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script"/>
3)修改/usr/local/apache-tomcat-9.0.0.M26/webapps/manager/META-INF context.xml
注释掉value标签
4)在bin 启动tomcat ./startup.sh
5)ip:端口 访问 点击页面的Manager App 输入配置好的账号tomcat 密码tomcat
4. 安装svn
Jenkins安装配置
Jenkins 下载地址https://updates.jenkins-ci.org/download/war/
将war部署在tomcat上启动tomcat
访问 http://ip:8080/jenkins/
account:admin
password:
1)解锁 Jenkins
cat /usr/local/apache-tomcat-9.0.0.M26/webapps/secrets/initialAdminPassword
获取密码 :e033f0340e844c3b9b5516fb18d1e77a908
登陆等待插件安装…
将镜像换为国内的镜像,操作步骤:
http://ip:8080/jenkins/pluginManager/advanced 升级站点URL: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
配置svn提交自动化部署:(3大步 步骤1.构建项目 步骤2.构建完成配置sh文件自动运行 步骤3.配置否见触发器,用户提交svn自动触发前两步骤)
进入jenkins 构建一个maven项目
- 1.项目描述
2.丢弃旧的构建 保持构建的天数 10 保持构建的最大个数 10
3.源码管理 选择svn Modules
Repository URL :
svn项目路径 eg: svn://ip/dhttest Credentials : 用户(svn账户)
eg:duhuanteng/2019
4.构建触发器 触发远程构建 (例如,使用脚本)
Help for feature: 触发远程构建 (例如,使用脚本)
身份验证令牌 : 自定义
eg:123459876
后面要用这个密码----> (以下代码这里用不上)
curl -X post -v -u
admin:9ecdd32c634e0abdfdfd41aef4f674864dd(**jenkins的账号密码**)
http://ip:8080/jenkins/job/dhttest/build?token=123459876
5.Build
Root POM: pom.xml //需要在svn的仓库找到项目的pom.xml
eg: pom.xml(这里根据svn路径 我的是svn://ip/dhttest/pom.xml)
Goals and options : clean install
6.Post Steps 选择Run only if build succeeds
配置完成之后直接去构建项目,测试项目是否能构建成功
7.构建成功后自动启动的配置
配置---->构建后操作
操作 选择Send build artifacts over SSH
Exec command :
OLD_BUILD_ID=$BUILD_ID
BUILD_ID=dontKillMe
bash /home/svn/dhttest/startup.sh
BUILD_ID=$OLD_BUILD_ID
bash 为svn sh 文件存放位置 自定义
上面操作完直接保存------>系统管理—>系统设置---->Publish over SSH
使用ssh 必须安装插件(Publish Over SSH Send build artifacts over SSH 1.20.1)
配置ssh
Passphrase :填写jenkins的密码
SSH Server
Name : centos_jy(eg: 随便起)
Hostname :12.345.67.89(ip)
Username : root(用户)
Remote Directory : /(根目录下)
Use password authentication, or use a different key 勾选上
Passphrase / Password: 填写服务器连接ssh密码:H…(连接服务器的密码)
//到svn 目录cd /home/svn/dhttest/
//创建startup.sh文件
以下为startup.sh配置
#path为jar的名字
#project为jar存放的绝对路径
#path=dhttest-0.0.1-SNAPSHOT.jar
#project=/home/svn/dhttest/dhttest-0.0.1-SNAPSHOT.jar
basepath=/home/svn/dhttest/
path=dhttest-0.0.1-SNAPSHOT.jar
project=/home/svn/dhttest/dhttest-0.0.1-SNAPSHOT.jar
jenkinsworkspace=/usr/local/apache-tomcat-9.0.0.M26/webapps/workspace/dhttest/target/$path
endpath=$basepath
echo jar的全名 $path
echo jar启动路径 $project
echo 工作空间 $jenkinsworkspace
source /etc/profile
pid=`ps -ef|grep $path |grep -v grep|awk '{print $2}'`
echo 原来的进程 pid为 : $pid
kill -9 $pid
echo 删除jar
echo /home/svn/dhttest/$path
rm -rf /home/svn/dhttest/$path
echo 将jar从jenkins的工作空间复制过来
cp $jenkinsworkspace $endpath
echo 启动jar
nohup java -jar $project > nohup.log 2>&1 &
echo 返回启动的进程号
endpid=`ps -ef|grep $path |grep -v grep|awk '{print $2}'`
echo 启动后的进程id为 $endpid
构建触发器:
cd
工作空间有可能在/usr/local/apache-tomcat-9.0.0.M26/webapps/workspace/dhttest
//以下操作为 post-commit文件—>授权(可执行命令权限)—>vim post-commit 添加( curl -X post -v -u admin:9ecdd32cd163dfd4e0ab41aef4f674864dd http://ip:8080/jenkins/job/dhttest/build?token=123459876
)命令
cd /home/svn/dhttest/hooks/
cp post-commit.tmpl post-commit
chmod +x post-commit
vim post-commit
将以下添加至 post-commit
curl -X post -v -u admin:9ecdd32cd1634e0ab41adfdef4f674864dd (jenkins账号密码)http://12.345.67.89:8080/jenkins/job/dhttest/build?token=123459876
配置完成之后要记得开允许触发远程构建
在配置 ----->触发远程构建 (例如,使用脚本) Help for feature: 触发远程构建 (例如,使用脚本)
身份验证令牌 : 此处为构建触发器所用的token