最近搭建了一套java的ci/cd環(huán)境,記錄下搭建過程???
注:下面演示軟件安裝在/opt
準備一臺機器强胰,內(nèi)存8G以上 系統(tǒng)版本centos 7
安裝java
從oracle官網(wǎng)下載并解壓
設置環(huán)境變量
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 http://mirrors.jenkins.io/war-stable/latest/jenkins.war
制作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
添加開發(fā)機
安裝jenkins插件
在jenkins插件中心安裝以下插件: http://127.0.0.1:8080/pluginManager/available
名稱 | 作用 |
---|---|
Publish Over SSH | 將文件發(fā)到目標服務器 |
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并解壓
設置環(huán)境變量: 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加入環(huán)境變量
在rancher上創(chuàng)建api token并取得token內(nèi)容
rancher cli配置token認證
rancher login https://rancherip:8843 -t rancher的token
最終目錄結構
待后續(xù)更新...