需要先安裝jdk、maven、git環境
jdk安裝:https://www.cnblogs.com/pxblog/p/10512886.html
maven安裝:https://www.cnblogs.com/pxblog/p/13447980.html
git安裝:https://www.cnblogs.com/pxblog/p/13447606.html
下載安裝包
官網地址:https://www.jenkins.io/download/
也可以
https://yvioo.lanzous.com/iZx8Zfcsoti
下載后上傳到服務器上,直接在文件夾底下運行
nohup java -jar jenkins.war --httpPort=9090 &
--httpPort 是指定端口啟動 默認是8080端口
nohup 是后台運行
也可以
放到tomcat下的webapps里面,然后啟動tomcat,如果是這種方式的話,要在conf/server.xml上配置 URIEncoding=“UTF-8” 保證編碼格式
然后啟動tomcat服務即可
然后瀏覽器打開,訪問 服務器IP:設置的端口
打開之后等待一會就會進入這個界面
然后執行,查看密碼
cat /root/.jenkins/secrets/initialAdminPassword
將打印出來的密碼輸入進去,點擊繼續
這里我們選擇 “安裝推薦的插件”即可,然后會進入下面這個頁面,這里等待進度條走完,安裝完所有依賴即可
安裝完成后,這里可以創建,也可以使用默認的admin ,密碼就是我們之前找到 這個下 /root/.jenkins/secrets/initialAdminPassword 密鑰
點擊保存並完成即可
接着進行Jenkins的配置,點擊系統管理-全局工具配置
也可以用下面這個方式配置,登錄用戶允許操作 賬號就是 admin 密碼就是 一開始輸入的文件里面的那個密鑰
然后點擊保存,
全局工具配置
配置maven環境 這里我們選擇本服務器安裝的maven目錄下settings文件 這里根據自己的來配置
這里選擇本服務器的jdk目錄 也是根據自己的來 別名可以自己取
這里配置maven環境 這個下面會用到
Git環境配置
然后點擊保存
安裝插件
要安裝兩個插件
Publish Over SSH、SSH
進行系統配置
設置項目部署服務器賬號密碼
創建一個任務
這里的任務名稱可以和項目名稱一樣
點擊確定進行保存
進行任務構建配置
這里進行git代碼的用戶名密碼配置
Repository URL :就是遠程倉庫的地址
Credentials :這個就是憑證
以及可以在下面指定分支
這一步驟你可以理解為是 Jenkins要從你配置的git地址上把你的代碼下載下來
構建里面進行選擇
這里選擇我們之前在全局配置里面配置的maven信息
然后在目標里面填寫
clean compile package
這里就是把你的代碼下載下來 然后進行maven打包
也是在構建 下面繼續增加
上面這個
SSH site :這個選擇上面在全局里面配置的要進行項目部署的所在服務器 (注:以下構建所用的都是這個服務器配置)
Command:這里填寫
#!/bin/bash --login if [ ! -d "/data/java/temp/${JOB_NAME}" ];then mkdir -p /data/java/temp/${JOB_NAME} fi
這個的作用是 判斷 文件夾是否存在 不存在進行創建
${JOB_NAME} :這個是任務名稱的占位符
接着繼續增加
scp -r ${WORKSPACE}/target/*.jar root@ip地址:/data/java/temp/${JOB_NAME}/${JOB_NAME}.jar rm -fr ${WORKSPACE}/*
${WORKSPACE}/target/*.jar 這個是生成的jar包路徑,如果項目多層級的話,可能不是再根目錄下,具體的根據自己的來,可以通過這個工作空間 看自己的jar包生成位置,然后把這個位置替換成自己的即可
這里的ip地址要替換成自己的
${JOB_NAME} :這個是任務名稱的占位符
${WORKSPACE} :這個是工作空間
這里的作用是把構建生成的jar包上傳到部署的服務器目錄上(Jenkins部署的服務器和項目部署的服務器不是同一台的時候使用)
這里使用scp命令 用這個命令正常情況下是要輸入密碼的 但是這里我們做了配置,所以不需要輸入密碼
具體可以參考:https://www.cnblogs.com/pxblog/p/14396421.html
接着繼續增加
具體腳本
#!/bin/bash --login server_path="/data/java/server/" temp_path="/data/java/temp/${JOB_NAME}" temp_jar="${temp_path}/${JOB_NAME}.jar" #backup if [ ! -d "${server_path}" ];then mkdir -p ${server_path} fi if [ ! -d "${temp_path}" ];then mkdir -p ${temp_path} fi if [ ! -d "${server_path}/logs" ];then mkdir -p ${server_path}/logs fi cd ${server_path} # stop service pid=`ps -ef | grep "${JOB_NAME}" | grep -v "tail" | grep -v "grep" | awk '{print $2}'` if [ "$pid" ];then echo "pid is $pid" kill -9 "$pid" else echo "server already stopped!" fi # start datestr=`date +%Y%m%d` \cp -fr ${temp_path}/*.jar . nohup /usr/java/jdk1.8.0_161/bin/java -jar ${JOB_NAME}.jar >>${server_path}/logs/${JOB_NAME}-${datestr}.log 2>&1 & rm -fr ${temp_path}/*.jar
說明:
server_path: 這個是項目jar包所在路徑
temp_path:這個是用來jar包生成的臨時文件夾
nohup /usr/java/jdk1.8.0_161/bin/java -jar ${JOB_NAME}.jar >>${server_path}/logs/${JOB_NAME}-${datestr}.log 2>&1 &
這個是nohup啟動,注意這里的java所在路徑要根據自己的實際的來 其實就是 java -jar 命令
以上就算完成了 所有的構建步驟要按照順序來
點擊這里看控制台輸出信息
接着就是配置鈎子了
URL地址下面顯示是 JENKINS_URL/job/XXXX/build?token=TOKEN_NAME
這里填寫JENKINS_TOKEN就是我們上面的TOKEN_NAME
JENKINS_URL這個是我們一開始安裝的時候默認填寫的Jenkins部署地址
然后拼接成一個完成的URL地址
其實你可以理解為 你訪問這個地址就會觸發構建操作,你把地址放到瀏覽器里面訪問 也會進行構建操作
gitee平台
Jenkins中下載插件,gitee 插件
然后 在項目配置里面
然后保存
然后gitee平台上
這里的URL地址和WebHook 密碼 就和上面的對應 然后每次提交代碼到gitee上 都會觸發構建