메이븐 설치
91 gitlab-CTL 시작
92 /etc/init.d/jenkins 시작이
필요한 설치 패키지를 업로드
자신의 환경을 볼 수 JDK
93 RPM의 -qa | GREP JDK
는 Java-1.8.0-오픈 JDK - 헤드리스 (headless) - 1.8.0.102 -e 94 RPM -4.b14.el7.x86_64 자바 1.7.0 - 오픈 JDK-헤드리스 -1.7.0.111-2.6.7.8.el7.x86_64 --nodeps # 자체가 환경 JDK 설치 제거
(95) 타르 zxf JDK-8u211 - 리눅스 -x64.tar. 은 / usr / 지방 / GZ에 -C / usr / 지방 / 신장 프로필
Maven- 타르 3.6.1-bin.tar.gz zxf (96) 아파치
(97 개) 아파치 뮤직 비디오 - 3.6 - 메이븐 / usr / 지방 / 압축 해제 구성 메이븐 파일 / usr / 지방 /에
끝에 추가 98 빔을 / etc / 프로필 #
XGP의 수출 = / usr / 지방 / Maven을
내보내기 경로 PATH = $ : $ XGP의 / 빈
내보내기 JAVA_HOME = / usr / 지방 / jdk1.8.0_211
JRE_HOME 수출 = /usr/local/jdk1.8.0_211/jre
내보내기 CLASSPATH = $ JAVA_HOME / lib 디렉토리 / tools.jar가 : $ JAVA_HOME / lib 디렉토리 / dt.jar
수출 PATH = $ JAVA_HOME / 빈 : $ JRE_HOME / 빈 : $ PATH
99 원을 / etc / 프로필 새로
설치 성공 여부를 테스트 100 MVN -v
클라우드 알리웨어 하우스 주소를 사용하여
정력 /usr/local/maven/conf/settings.xml # 158 추가
<미러>
<언급 된 ID 이상> alimaven </ 언급 된 ID 위>
<이름> aliyun 메이븐 </ 이름>
<URL> HTTP : // 메이븐을. aliyun.com/nexus/content/groups/public / </ URL> ;
<mirrorOf> 중앙 </ mirrorOf>
</ 미러>
102 CD
103 MVN 원형 : 생성 DgroupId = cn.bdqn.bdqnweb-DartifactId = bdqnweb DarchetypeArtifactId = 받는다는 - 원형 - 웹 애플리케이션 -DinteractiveMode = 거짓 #이 프로젝트를 구축
86 CD를 XGP-데모 / 년 전에 만든 로컬 Git 저장소를 입력
87 RF RM은 창고의 모든 내용 삭제
(88) 자식 추가 캐시에 불평 할 것이다 여기에 업로드
의 상태 확인 89 자식 상태
(92) 자식 RM은 index.html을 x.txt xgp.txt을 파일을 삭제하는 방법에 대한 업로드
-m를 저지 자식 (93) "델"버전 라이브러리 보드에 업로드
원격 저장소에 업로드 (94) 자식 밀어 원산지 마스터
없이 netstat -anpt 96 | 8081 grep을
97 /etc/init.d/jenkins가 다시 시작 JDK 다시 시작
98 /etc/init.d/jenkins 상태 확인 JDK 환경을
104 LN -s /usr/local/jdk1.8.0_211/bin/java / USR / bin / 디렉토리 링크 명령
(105) /etc/init.d/jenkins 다시 시작하려면 시작
107 PS -ef | 8081 grep을
사용자가 수정할 젠킨스 실행
108 빔은 / etc / SYSCONFIG / 젠킨스
JENKINS_USER = "루트"사용자가 루트 # 29
108
/etc/init.d/jenkins 재시작
8081 grep을 | 109 PS를 -ef
111 cd bdqnweb/
112 ls
113 cat src/main/webapp/index.jsp
114 vim src/main/webapp/index.jsp 修改如下内容
115 cat src/main/webapp/index.jsp
116 cp -r src/ pom.xml /root/xgp-demo/ 复制测试页面到本地仓库
117 cd /root/xgp-demo/ 进入本地仓库
118 git add * 上传到缓存
119 git commit -m "test1 index.jsp" 上传到版本库
120 git push origin master 上传到版本库
Jenkins服务器免密登陆1.50,1.60
130 ssh-copy-id [email protected]
131 ssh-copy-id [email protected]
132 ssh 192.168.1.50
133 ssh 192.168.1.60
在web界面上运程仓库看一下
在jdk上安装or回滚插件
系统管理----全局工具配置---Maven安装---取消自动安装
JDK安装---取消自动安装
安装成功
新建任务---构建一-个maven项 目名称为web- tomcat----参数化构建过程-- -添加参数- -选项参数---名称Status
选项Deploy
RollBack
描述: ----请选择发布or回滚----需要填写commit id号 -
选项参数---名称deploy
选项test
stag
描述: ----请选择构建环境
文本参数---名称git
描述:请输入git commit id号
源码管理: git---Repositories---- Repository URL
git@192. 168.83.3: web/web-demo.git
Branches to build----Branch Specifier (blank for 'any' )---${git}
构建环境---勾选--Color ANSI Console 0utput
Build:
Goals and options----clean package -Dmaven. test. skip-true .
Post Steps --执行shell--编写脚本
clean package -Dmaven.test.skip=true
##Deploy tomcat
war_bak="/data/war/bak"
tomcat_deploy="/usr/local/tomcat/webapps"
#WAR_PATH="${WORKSPACE}/${MODULE_NAME}/target/.war"
WAR_PATH="${WORKSPACE}/target/.war"
test_host="192.168.1.50"
stag_host="192.168.1.60"
port="8080"
echo "构建环境:${deploy} 项目名称:${JOB_NAME} 构建时间:date +%F
本次上线版本:${GIT_COMMIT}" >> /var/log/${JOB_NAME}.log
status deploy or rollback
##判断git是否为空,如果是为空进行提示
if [ "${git}" = "" ];then
echo "请输入git版本 #############"
exit 1
else
判断发布 or 回滚
if [ "${Status}" = "Deploy" ];then
判断是否为测试环境
if [ "${deploy}" = "test" ];then
### 构建主机
for i in ${test_host}
do
ssh ${i} "mkdir -p ${war_bak}/${JOB_NAME}/${git}"
scp ${WAR_PATH} ${i}:${war_bak}/${JOB_NAME}/${git}/ROOT.war
ssh ${i} rm -rf ${tomcat_deploy}/*
ssh ${i} cp ${war_bak}/${JOB_NAME}/${git}/ROOT.war ${tomcat_deploy}
ssh ${i} /etc/init.d/tomcat restart
### 判断tomcat是否正常
for http in `seq 1 5`
do
tomcat_status=`curl -I ${i}:${port} -s|awk -F "[ ]" '{print $2}' |sed -n '1p'`
if [[ "$tomcat_status" -ne 200 ]] || [[ "$tomcat_status" = "" ]];then
echo -e "\033[5;34m 请稍等,服务启动中........ \033[0m"
sleep 5
else
echo -e "\033[5;34m 构建 ${i}环境发布正常,返回值[${tomcat_status}] \033[0m"
break
fi
done
if [[ "${tomcat_status}" -ne 200 ]] || [[ "${tomcat_status}" = "" ]];then
if [[ "${tomcat_status}" = "" ]];then
echo -e "\033[5;34m 构建 ${i}服务启动异常 \033[0m"
exit 1
fi
echo -e "\033[5;34m 构建 ${i}环境发布异常,返回值[${tomcat_status}] \033[0m"
fi
done
echo -e "\033[5;34m 本次构建${test_host}主机,本次环境 ${deploy} \033[0m"
判断为预发布环境
elif [ "${deploy}" = "stag" ];then
for i in "${stag_host}"
do
ssh ${i} mkdir -p ${war_bak}/${JOB_NAME}/${git}
scp ${WAR_PATH} ${i}:${war_bak}/${JOB_NAME}/${git}/ROOT.war
ssh ${i} rm -rf ${tomcat_deploy}/*
ssh ${i} cp ${war_bak}/${JOB_NAME}/${git}/ROOT.war ${tomcat_deploy}
ssh ${i} /etc/init.d/tomcat restart
### 判断tomcat是否正常
for http in `seq 1 5`
do
tomcat_status=`curl -I ${i}:${port} -s|awk -F "[ ]" '{print $2}' |sed -n '1p'`
if [[ "$tomcat_status" -ne 200 ]] || [[ "$tomcat_status" = "" ]];then
echo -e "\033[5;34m 请稍等,服务启动中........ \033[0m"
sleep 5
else
echo -e "\033[5;34m 构建 ${i}环境发布正常,返回值[${tomcat_status}] \033[0m"
break
fi
done
if [[ "${tomcat_status}" -ne 200 ]] || [[ "${tomcat_status}" = "" ]];then
if [[ "${tomcat_status}" = "" ]];then
echo -e "\033[5;34m 构建 ${i}服务启动异常 \033[0m"
exit 1
fi
echo -e "\033[5;34m 构建 ${i}环境发布异常,返回值[${tomcat_status}] \033[0m"
fi
done
echo -e "\033[5;34m 本次构建${test_host}主机,本次环境 ${deploy} \033[0m"
fi
回滚操作
elif [[ "${Status}" = "RollBack" ]];then
判断回滚环境及主机
if [ "${deploy}" = "test" ];then
for i in ${test_host}
do
ssh ${i} "[ -d ${war_bak}/${JOB_NAME}/${git} ]"
if [ $? -ne '0' ];then
echo -e "\033[5;34m git commit 回滚目录不存在,环境${deploy} 错误主机${i} \033[0m"
exit 3
else
echo -e "\033[5;34m 准备回滚操作 本次回滚环境${deploy} 回滚主机${i} \033[0m"
sleep 3
fi
ssh ${i} "mkdir -p ${war_bak}/${JOB_NAME}/${git}_${Status}_rollback/"
ssh ${i} "cp -r ${tomcat_deploy}/* ${war_bak}/${JOB_NAME}/${git}_${Status}_rollback/"
ssh ${i} "rm -rf ${tomcat_deploy}/*"
ssh ${i} "cp -r ${war_bak}/${JOB_NAME}/${git}/*.war ${tomcat_deploy}/"
ssh ${i} /etc/init.d/tomcat restart
### 判断tomcat是否正常
for http in `seq 1 5`
do
tomcat_status=`curl -I ${i}:${port} -s|awk -F "[ ]" '{print $2}' |sed -n '1p'`
if [[ "$tomcat_status" -ne 200 ]] || [[ "$tomcat_status" = "" ]];then
echo -e "\033[5;34m 请稍等,服务启动中........ \033[0m"
sleep 5
else
echo -e "\033[5;34m 构建 ${i}环境发布正常,返回值[${tomcat_status}] \033[0m"
break
fi
done
if [[ "${tomcat_status}" -ne 200 ]] || [[ "${tomcat_status}" = "" ]];then
if [[ "${tomcat_status}" = "" ]];then
echo -e "\033[5;34m 构建 ${i}服务启动异常 \033[0m"
exit 1
fi
echo -e "\033[5;34m 构建 ${i}环境发布异常,返回值[${tomcat_status}] \033[0m"
fi
done
elif [ "${deploy}" = "stag" ];then
echo "123"
### 判断测试环境fi结束
fi
fi
fi是判断是否有git地址的结束
fi
1.50,1.60
搭建tomcat环境
19 cd /usr/src/
20 mkdir tomcat
21 cd tomcat/
22 rz 上传tomcat安装包
安装tomcat
24 tar zxf apache-tomcat-8.5.35.tar.gz
25 mv apache-tomcat-8.5.35 /usr/local/tomcat 移动tomcat配置文件
26 mv tomcat /etc/init.d/ 添加一个tomcat启动脚本到/etc/init.d
32 chmod +x /etc/init.d/tomcat 给启动脚本一个可执行权限
33 /etc/init.d/tomcat start 启动tomcat
34 netstat -anpt | grep 8080
35 scp /etc/init.d/tomcat [email protected]:/etc/init.d/ 复制tomcat启动文件到1.50和1.60
36 scp -r /usr/local/tomcat [email protected]:/usr/local/tomcat/ 复制tomcat配置文件到1.50和1.60
1.60
13 /etc/init.d/tomcat start
14 netstat -anpt | grep 8080
测试一下
浏览器查看192.168.1.50:8080
浏览器查看192.168.1.60:8080