一、部署git
1)先檢查系統是否已經自帶了git,如果有,就卸載
$ rpm -qa | grep git && rpm -e git --nodeps
2)開始安裝git所需要的依賴包
$ yum -y install curl-devel gettext-devel expat-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
$ wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz $ tar xvf git-2.9.5.tar.gz -C /usr/local/src $ cd /usr/local/src/git-2.9.5/ $ make prefix=/usr/local/git all $ make prefix=/usr/local/git install
4)修改環境變量
$ vim /etc/profile export PATH=$PATH:/usr/local/git/bin $ source /etc/profile
5)測試
$ git --version git version 1.8.3.1
二、部署jdk環境
2.1. 檢測是否有自帶的jdk環境,如果有就卸載
$ rpm -qa | grep jdk && yum -y remove java*
2.2. 下載JDK
$ wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz #wget --no-check-certificate --no-cookies --header "Cookie直接下載JDK,避免用戶驗證" $ tar xvf jdk-8u181-linux-x64.tar.gz -C /usr/local/ $ mv /usr/local/jdk1.8.0_181 /usr/local/java
2.3. 修改環境變量
$ vim /etc/profile export JAVA_HOME=/usr/local/java export PATH=$PATH:$JAVA_HOME/bin:/usr/local/git/bin $ source /etc/profile
2.4. 測試
$ java -version java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
三、部署Maven
3.1. 下載maven包
$ wget http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
3.2. 解壓Maven
$ tar xvf apache-maven-3.5.4-bin.tar.gz -C /usr/local $ mv /usr/local/apache-maven-3.5.4 /usr/local/maven
3.3. 修改環境變量
$ vim /etc/profile export JAVA_HOME=/usr/local/java export MAVEN_HOME=/usr/local/maven export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:/usr/local/git/bin $ source /etc/profile
3.4.測試
$ mvn -version Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00) Maven home: /usr/local/maven Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: /usr/local/jdk1.8.0_181/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-514.26.2.el7.x86_64", arch: "amd64", family: "unix"
四、部署Tomcat
4.1. 下載Tomcat
$ wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-9/v9.0.16/bin/apache-tomcat-9.0.16.tar.gz
4.2. 解壓Tomcat
$ tar xvf apache-tomcat-9.0.16.tar.gz -C /usr/local $ mv /usr/local/apache-tomcat-9.0.16 /usr/local/tomcat
4.3. 修改環境變量
$ vim /etc/profile export JAVA_HOME=/usr/local/java export MAVEN_HOME=/usr/local/maven export CATALINA_HOME=/usr/local/tomcat export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:/usr/local/git/bin $ source /etc/profile
4.4. 增加熵池大小,快速啟用tomcat
$ yum -y install rng-tools $ cp /usr/lib/systemd/system/rngd.service /etc/systemd/system $ vim /etc/systemd/system/rngd.service ExecStart=/sbin/rngd -f -r /dev/urandom $ systemctl daemon-reload $ systemctl restart rngd
4.5. 編寫tomcat的啟動腳本
$ vim /usr/lib/systemd/system/tomcat.service [Unit] Description=Tomcat After=network.target [Service] Type=forking Environment="JAVA_HOME=/usr/local/java" //tomcat啟用時需要識別JAVA_HOME ExecStart=/usr/local/tomcat/bin/startup.sh ExecStop=/usr/local/tomcat/bin/shutdown.sh [Install] WantedBy=multi-user.target [root@jenkins ~]# chmod 600 /usr/lib/systemd/system/tomcat.service [root@jenkins ~]# systemctl daemon-reload
5.6. 測試
$ systemctl start tomcat $ ss -antp | grep java LISTEN 0 100 :::8009 :::* users:(("java",pid=5717,fd=54)) LISTEN 0 100 :::8080 :::* users:(("java",pid=5717,fd=49)) LISTEN 0 1 ::ffff:127.0.0.1:8005 :::* users:(("java",pid=5717,fd=107))
五、部署jenkins
5.1. 下載jenkins.war包
$ wget http://mirrors.jenkins.io/war/latest/jenkins.war
5.2. 安裝jenkins(放到tomcat的webapps目錄下,啟用tomcat即可)
$ cp jenkins.war /usr/local/tomcat/webapps
5.3. 測試
$ systemctl restart tomcat
5.4. 修改首頁
<Context path="" docBase="/usr/local/tomcat/webapps/jenkins/" debug="0"/>
六、配置jenkins
6.1. jenkins的安裝
$ cat /root/.jenkins/secrets/initialAdminPassword 5e94c58bcd6a4fc5b7f49675c39a44bf
6.1.1. 報錯
解決辦法:
$ find / -name "hudson.model.UpdateCenter.xml" /root/.jenkins/hudson.model.UpdateCenter.xml <?xml version='1.1' encoding='UTF-8'?> <sites> <site> <id>default</id> <url>https://updates.jenkins.io/update-center.json</url> </site> </sites> https修改為http
6.2. 點擊安裝推薦的插件
6.3. 等待插件下載完成
6.4. 設置管理員賬號密碼
6.5. 配置訪問Jenkins的URL
6.6. Start Using Jenkins
輸入賬號密碼登錄
6.7. jenkins插件的安裝
6.7.1 安裝SSH Publish Over SSH 用於ssh連接的
6.7.2 安裝GitLab 為git客戶端從git主庫取代碼
6.7.3. 安裝Maven Integration plugin 編譯打包
6.8. jenkins系統設置
6.8.1. 配置jdk根目錄
6.8.2. 配置git命令的絕對路徑
6.8.3. 配置Maven根目錄
Apply and Save
6.8.4. 配置ssh
$ ssh-copy-id -i 192.168.1.10 //后端gitlab的ip地址 $ cat .ssh/id_rsa
Apply and Save
Hostname為后端tomcat服務器的ip地址 Remote Directory ssh過去后在機器的什么目錄下 點擊Test Configuration 顯示Success則表示成功----> Apply and Save
6.9. 在GitLab服務器上獲取Token
6.9.1. 創建用戶獲取Token
6.10. jenkins服務器上配置Gitlab
七、創建一個Jenkins Job
7.1. 創建job
7.2. 生成訪問GitLab的ssh秘鑰
從Gitlab上以SSH的方式拉取或提交代碼需要用到這個SSH秘鑰,哪台機器需要從GitLab上拉取代碼,就在哪台機器上生成SSH key
$ ssh-keygen -t rsa -C "<添加一些注釋>" -b 4096 $ cat .ssh/id_rsa.pub
7.3. 配置Job
7.4. 配置Job的構建觸發器
選擇“構建觸發器”,勾選“Pull SCM”,這個選項會每隔一段時間檢查一下GitLab倉庫中代碼是否有更新,有的話就執行構建操作。日程表如何設置,在這個輸入框下面有說明。
7.5. 配置打包
7.6.打包完成之后的動作
$ mkdir /jenkins/{jar,sh} -p $ vim /jenkins/sh/web.sh cp /jenkins/jar/*.jar /jenkins echo successfully > /root/jenkins.log $ chmod +x /jenkins/sh/web.sh
7.6.1. 報錯
腳本沒有執行權限,需要給腳本授權
$ chmod +x 腳本