前言
由於都是新建的dubbo項目,還沒上線,尚在內網測試階段,所以一直沒有用工具去打包。都是人工打包更新,要是更新多個服務,是非常繁瑣的一個過程,首先要打包接口暴露層的服務,還要打包啓動層的服務,然後到服務器就是各種jar包替換,重啓等。沒辦法,這隻能自己硬着頭皮把這個運維的工作做了。
安裝Jenkins
官網地址:http://pkg.jenkins-ci.org/redhat-stable/
安裝命令:rmp -ivh jenkins-2.222.1-1.1.noarch.rpm
如需修改端口:vi /etc/sysconfig/jenkins 找到Jenkins—port 修改即可
修改java配置: vi /etc/init.d/jenkins 修改爲自己java路徑
安裝jdk環境
安裝maven
啓動 service jenkins start/stop/restart
安裝插件
1.安裝svn插件:Subversion Plugin
2.因爲需要拉取多個倉庫的代碼,所以也要裝這個插件:Multiple SCMs
排坑
1.剛開始在安裝插件的時候,一直報connect time out,一直沒安裝成功,後來通過百度找到原因。
jenkins在下載插件之前會檢查網絡連接,會讀取default.json(/var/lib/jenkins/updates/default.json)這個文件裏的網址,默認是訪問谷歌的,這就很坑了,服務器網絡又不能翻牆,肯定是檢測失敗的。把下圖的google換成baidu即可。
2.修改插件下載地址:https://updates.jenkins.io/update-center.json,改爲清華園提供的地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json。文件所在位置:/var/lib/jenkins/hudson.model.UpdateCenter.xml。
3.設置多個倉庫一定要指定保存的路徑,一般會保存到 /var/lib/jenkins/workspace下面,如果指定了server,則會保存到/var/lib/jenkins/workspace/server下。如果不指定會帶來什麼後果呢,第二個倉庫的代碼會把第一個倉庫的代碼覆蓋掉,一開始我也想不懂,爲什麼我明明指定是打包第一個倉庫的代碼,爲什麼每次都是打包到第二個倉庫的代碼了。
4. 由於需要寫腳本發佈部署,所以我也順便惡補了一番Xshell腳本。
(1)執行腳本發現:沒有rm,mv等權限。
Xshell命令前加上sudo
(2)加上sudo後發現:command not foud