最近搭建了一套java的ci/cd環境,記錄下搭建過程?
注:下面演示軟體安裝在/opt
準備一臺機器,記憶體8G以上 系統版本centos 7

安裝java
從oracle官網下載並解壓

設定環境變數 vim /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_201
export PATH=$JAVA_HOME/bin:/opt/rancher:/opt:/opt/apache-maven-3.6.0/bin:/opt/gitlab-runner:$PATH
複製程式碼
安裝nexus私服
編寫私服docker-compose.yml
version: "3"
services:
nexus:
image: sonatype/nexus3
environment:
- INSTALL4J_ADD_VM_PARAMS=-Xms512m -Xmx768m -XX:MaxDirectMemorySize=1g -Djava.util.prefs.userRoot=/nexus-data/javaprefs
volumes:
- ./nexus-data:/nexus-data
ports:
- "8081:8081"
複製程式碼
啟動
mkdir nexus-data
chmod -R 777 nexus-data
docker-compose up -d
複製程式碼
使用預設使用者名稱密碼 admin / admin123 登陸檢視效果

安裝jenkins
wget mirrors.jenkins.io/war-stable/…
製作jenkins啟動指令碼 start_jenkins.sh
#!/bin/bash
export JAVA_HOME=/opt/jdk1.8.0_201
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/*.jar:$JRE_HOME/lib:$CLASSPATH
export JENKINS_SERVER_PATH=/opt/jenkins_server
cd ${JENKINS_SERVER_PATH}
# nohup java -jar jenkins.war --httpPort=8080 >/dev/null 2>&1 &
nohup java -jar jenkins.war --httpPort=8080 > jenkins.log &
複製程式碼
設定開機啟動 vim /etc/rc.local
/opt/jenkins_server/start_jenkins.sh
複製程式碼
新增開發機

安裝jenkins外掛
在jenkins外掛中心安裝以下外掛: http://127.0.0.1:8080/pluginManager/available
名稱 | 作用 |
---|---|
Publish Over SSH | 將檔案發到目標伺服器 |
SonarQube Scanner for Jenkins | 程式碼質量分析 |
Maven Integration plugin | maven打包 |
JaCoCo plugin | 自動測試並上報sonarqube |
gitlab | 連線gitlab程式碼庫 |
安裝docker
yum install -y docker
systemctl enable docker
systemctl start docker
複製程式碼
安裝gitlab
下載laradock工具包
git clone https://github.com/laradock/laradock.git && cp env-example .env
複製程式碼
啟動gitlab
cd laradock && docker-compose up -d gitlab
複製程式碼
訪問ip:8989檢視效果

安裝yearning
下載yearning docker工具包
git clone https://github.com/cookieY/Yearning.git
cd Yearning/install/yearning-docker-compose
docker-compose up -d
複製程式碼
使用 預設賬號:admin,預設密碼:Yearning_admin 登陸檢視效果

安裝sonarqube
下載sonarqube docker工具包
git clone https://github.com/thyrlian/SonarOnDocker.git
複製程式碼
啟動sonarqube
docker-compose -f docker-compose-mysql.yml up -d
複製程式碼
訪問9000埠,檢視效果

安裝maven && graddle
從https://maven.apache.org/download.cgi下載maven並解壓 從https://gradle.org/releases/下載gradle並解壓 設定環境變數: vim /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_201
export PATH=$JAVA_HOME/bin:/opt/rancher:/opt:/opt/apache-maven-3.6.0/bin:/opt/gradle-5.3.1/bin:/opt/gitlab-runner:$PATH
複製程式碼
驗證安裝

安裝kubectl && rancher cli
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl
chmod +x kubectl
mv kubectl /opt/
複製程式碼
從https://github.com/rancher/cli/releases下載rancher cli並解壓 把rancher和kubectl加入環境變數
在rancher上建立api token並取得token內容

rancher cli配置token認證
rancher login https://rancherip:8843 -t rancher的token
複製程式碼
最終目錄結構


待後續更新...