|
|
@ -9,7 +9,7 @@ |
|
|
#----------------------------------------------------------------------------------------------------- |
|
|
#----------------------------------------------------------------------------------------------------- |
|
|
|
|
|
|
|
|
# 配置 |
|
|
# 配置 |
|
|
BASE_DIR="/data/jenkins-agent/env" |
|
|
BASE_DIR="/data/jenkins-agent" |
|
|
|
|
|
|
|
|
# 软件 |
|
|
# 软件 |
|
|
#--- jdk8 |
|
|
#--- jdk8 |
|
|
@ -223,7 +223,8 @@ function init:mkdir() { |
|
|
function init:jenkins_agent() { |
|
|
function init:jenkins_agent() { |
|
|
log::info "[jenkins-agent]" "下载jenkins-agent..." |
|
|
log::info "[jenkins-agent]" "下载jenkins-agent..." |
|
|
local host="127.0.0.1" |
|
|
local host="127.0.0.1" |
|
|
local agent_file="${BASE_DIR}/../agent.jar" |
|
|
local agent_dir=`` |
|
|
|
|
|
local agent_file="${BASE_DIR}/agent.jar" |
|
|
local java_mem_opts=" -DappName=jenkins -server -Xmx1g" |
|
|
local java_mem_opts=" -DappName=jenkins -server -Xmx1g" |
|
|
local database_opts=" -Ddatabase.codeset=ISO-8859-1 -Ddatabase.logging=false" |
|
|
local database_opts=" -Ddatabase.codeset=ISO-8859-1 -Ddatabase.logging=false" |
|
|
local java_opts_ext=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dapplication.codeset=UTF-8 -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Shanghai" |
|
|
local java_opts_ext=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dapplication.codeset=UTF-8 -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Shanghai" |
|
|
@ -289,38 +290,38 @@ function init:java() { |
|
|
log::info "[java]" "安装java..." |
|
|
log::info "[java]" "安装java..." |
|
|
local host="127.0.0.1" |
|
|
local host="127.0.0.1" |
|
|
# jdk8 |
|
|
# jdk8 |
|
|
local java8_path="${BASE_DIR}/java/${JDK8_DIR_NAME}" |
|
|
local java8_path="${BASE_DIR}/env/java/${JDK8_DIR_NAME}" |
|
|
command::exec "${host}" " |
|
|
command::exec "${host}" " |
|
|
if [ ! -d "$java8_path" ]; then |
|
|
if [ ! -d "$java8_path" ]; then |
|
|
mkdir -p ${BASE_DIR}/java |
|
|
mkdir -p ${BASE_DIR}/env/java |
|
|
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate ${JDK8_URL} -O ${BASE_DIR}/java/${JDK8_FILE_NAME} |
|
|
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate ${JDK8_URL} -O ${BASE_DIR}/env/java/${JDK8_FILE_NAME} |
|
|
cd ${BASE_DIR}/java |
|
|
cd ${BASE_DIR}/env/java |
|
|
tar -zxvf ${JDK8_FILE_NAME} |
|
|
tar -zxvf ${JDK8_FILE_NAME} |
|
|
sudo chown -R \$(id -u):\$(id -g) ${BASE_DIR}/java |
|
|
sudo chown -R \$(id -u):\$(id -g) ${BASE_DIR}/env/java |
|
|
fi |
|
|
fi |
|
|
" |
|
|
" |
|
|
check::exit_code "$?" "java" "$host 安装java8" "exit" |
|
|
check::exit_code "$?" "java" "$host 安装java8" "exit" |
|
|
# jdk11 |
|
|
# jdk11 |
|
|
local java11_path="${BASE_DIR}/java/${JDK11_DIR_NAME}" |
|
|
local java11_path="${BASE_DIR}/env/java/${JDK11_DIR_NAME}" |
|
|
command::exec "${host}" " |
|
|
command::exec "${host}" " |
|
|
if [ ! -d "$java11_path" ]; then |
|
|
if [ ! -d "$java11_path" ]; then |
|
|
mkdir -p ${BASE_DIR}/java |
|
|
mkdir -p ${BASE_DIR}/env/java |
|
|
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate ${JDK11_URL} -O ${BASE_DIR}/java/${JDK11_FILE_NAME} |
|
|
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate ${JDK11_URL} -O ${BASE_DIR}/env/java/${JDK11_FILE_NAME} |
|
|
cd ${BASE_DIR}/java |
|
|
cd ${BASE_DIR}/env/java |
|
|
tar -zxvf ${JDK11_FILE_NAME} |
|
|
tar -zxvf ${JDK11_FILE_NAME} |
|
|
sudo chown -R \$(id -u):\$(id -g) ${BASE_DIR}/java |
|
|
sudo chown -R \$(id -u):\$(id -g) ${BASE_DIR}/env/java |
|
|
fi |
|
|
fi |
|
|
" |
|
|
" |
|
|
check::exit_code "$?" "java" "$host 安装java11" "exit" |
|
|
check::exit_code "$?" "java" "$host 安装java11" "exit" |
|
|
# jdk17 |
|
|
# jdk17 |
|
|
local java17_path="${BASE_DIR}/java/${JDK17_DIR_NAME}" |
|
|
local java17_path="${BASE_DIR}/env/java/${JDK17_DIR_NAME}" |
|
|
command::exec "${host}" " |
|
|
command::exec "${host}" " |
|
|
if [ ! -d "$java17_path" ]; then |
|
|
if [ ! -d "$java17_path" ]; then |
|
|
mkdir -p ${BASE_DIR}/java |
|
|
mkdir -p ${BASE_DIR}/env/java |
|
|
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate ${JDK17_URL} -O ${BASE_DIR}/java/${JDK17_FILE_NAME} |
|
|
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate ${JDK17_URL} -O ${BASE_DIR}/env/java/${JDK17_FILE_NAME} |
|
|
cd ${BASE_DIR}/java |
|
|
cd ${BASE_DIR}/env/java |
|
|
tar -zxvf ${JDK17_FILE_NAME} |
|
|
tar -zxvf ${JDK17_FILE_NAME} |
|
|
sudo chown -R \$(id -u):\$(id -g) ${BASE_DIR}/java |
|
|
sudo chown -R \$(id -u):\$(id -g) ${BASE_DIR}/env/java |
|
|
fi |
|
|
fi |
|
|
" |
|
|
" |
|
|
check::exit_code "$?" "java" "$host 安装java17" "exit" |
|
|
check::exit_code "$?" "java" "$host 安装java17" "exit" |
|
|
@ -334,14 +335,14 @@ function init:gradle() { |
|
|
local gradle_url="https://downloads.gradle-dn.com/distributions/gradle-${GRADLE_VERSION}-bin.zip" |
|
|
local gradle_url="https://downloads.gradle-dn.com/distributions/gradle-${GRADLE_VERSION}-bin.zip" |
|
|
local gradle_file_name="gradle-${GRADLE_VERSION}-bin.zip" |
|
|
local gradle_file_name="gradle-${GRADLE_VERSION}-bin.zip" |
|
|
local gradle_dir_name="gradle-${GRADLE_VERSION}" |
|
|
local gradle_dir_name="gradle-${GRADLE_VERSION}" |
|
|
local gradle_path="${BASE_DIR}/gradle/$gradle_dir_name" |
|
|
local gradle_path="${BASE_DIR}/env/gradle/$gradle_dir_name" |
|
|
command::exec "${host}" " |
|
|
command::exec "${host}" " |
|
|
if [ ! -d "$gradle_path" ]; then |
|
|
if [ ! -d "$gradle_path" ]; then |
|
|
mkdir -p ${BASE_DIR}/gradle |
|
|
mkdir -p ${BASE_DIR}/env/gradle |
|
|
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate $gradle_url -O ${BASE_DIR}/gradle/$gradle_file_name |
|
|
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate $gradle_url -O ${BASE_DIR}/env/gradle/$gradle_file_name |
|
|
cd ${BASE_DIR}/gradle |
|
|
cd ${BASE_DIR}/env/gradle |
|
|
unzip $gradle_file_name |
|
|
unzip $gradle_file_name |
|
|
sudo chown -R \$(id -u):\$(id -g) ${BASE_DIR}/gradle |
|
|
sudo chown -R \$(id -u):\$(id -g) ${BASE_DIR}/env/gradle |
|
|
fi |
|
|
fi |
|
|
" |
|
|
" |
|
|
check::exit_code "$?" "gradle" "$host 安装gradle(${GRADLE_VERSION})" "exit" |
|
|
check::exit_code "$?" "gradle" "$host 安装gradle(${GRADLE_VERSION})" "exit" |
|
|
@ -355,14 +356,14 @@ function init:maven() { |
|
|
local maven_url="https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz" |
|
|
local maven_url="https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz" |
|
|
local maven_file_name="apache-maven-${MAVEN_VERSION}-bin.tar.gz" |
|
|
local maven_file_name="apache-maven-${MAVEN_VERSION}-bin.tar.gz" |
|
|
local maven_dir_name="apache-maven-${MAVEN_VERSION}" |
|
|
local maven_dir_name="apache-maven-${MAVEN_VERSION}" |
|
|
local maven_path="${BASE_DIR}/maven/$maven_dir_name" |
|
|
local maven_path="${BASE_DIR}/env/maven/$maven_dir_name" |
|
|
command::exec "${host}" " |
|
|
command::exec "${host}" " |
|
|
if [ ! -d "$maven_path" ]; then |
|
|
if [ ! -d "$maven_path" ]; then |
|
|
mkdir -p ${BASE_DIR}/maven |
|
|
mkdir -p ${BASE_DIR}/env/maven |
|
|
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate $maven_url -O ${BASE_DIR}/maven/$maven_file_name |
|
|
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate $maven_url -O ${BASE_DIR}/env/maven/$maven_file_name |
|
|
cd ${BASE_DIR}/maven |
|
|
cd ${BASE_DIR}/env/maven |
|
|
tar -zxvf $maven_file_name |
|
|
tar -zxvf $maven_file_name |
|
|
sudo chown -R \$(id -u):\$(id -g) ${BASE_DIR}/maven |
|
|
sudo chown -R \$(id -u):\$(id -g) ${BASE_DIR}/env/maven |
|
|
fi |
|
|
fi |
|
|
" |
|
|
" |
|
|
check::exit_code "$?" "maven" "$host 安装maven(${MAVEN_VERSION})" "exit" |
|
|
check::exit_code "$?" "maven" "$host 安装maven(${MAVEN_VERSION})" "exit" |
|
|
@ -376,14 +377,14 @@ function init:nodejs() { |
|
|
local nodejs_url="https://nodejs.org/dist/v${NODEJS_VERSION}/node-v${NODEJS_VERSION}-linux-x64.tar.gz" |
|
|
local nodejs_url="https://nodejs.org/dist/v${NODEJS_VERSION}/node-v${NODEJS_VERSION}-linux-x64.tar.gz" |
|
|
local nodejs_file_name="node-v${NODEJS_VERSION}-linux-x64.tar.gz" |
|
|
local nodejs_file_name="node-v${NODEJS_VERSION}-linux-x64.tar.gz" |
|
|
local nodejs_dir_name="node-v${NODEJS_VERSION}-linux-x64" |
|
|
local nodejs_dir_name="node-v${NODEJS_VERSION}-linux-x64" |
|
|
local nodejs_path="${BASE_DIR}/nodejs/$nodejs_dir_name" |
|
|
local nodejs_path="${BASE_DIR}/env/nodejs/$nodejs_dir_name" |
|
|
command::exec "${host}" " |
|
|
command::exec "${host}" " |
|
|
if [ ! -d "$nodejs_path" ]; then |
|
|
if [ ! -d "$nodejs_path" ]; then |
|
|
mkdir -p ${BASE_DIR}/nodejs |
|
|
mkdir -p ${BASE_DIR}/env/nodejs |
|
|
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate $nodejs_url -O ${BASE_DIR}/nodejs/$nodejs_file_name |
|
|
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate $nodejs_url -O ${BASE_DIR}/env/nodejs/$nodejs_file_name |
|
|
cd ${BASE_DIR}/nodejs |
|
|
cd ${BASE_DIR}/env/nodejs |
|
|
tar -zxvf $nodejs_file_name |
|
|
tar -zxvf $nodejs_file_name |
|
|
sudo chown -R \$(id -u):\$(id -g) ${BASE_DIR}/nodejs |
|
|
sudo chown -R \$(id -u):\$(id -g) ${BASE_DIR}/env/nodejs |
|
|
fi |
|
|
fi |
|
|
" |
|
|
" |
|
|
check::exit_code "$?" "nodejs" "$host 安装nodejs(${NODEJS_VERSION})" "exit" |
|
|
check::exit_code "$?" "nodejs" "$host 安装nodejs(${NODEJS_VERSION})" "exit" |
|
|
@ -404,7 +405,7 @@ Usage: |
|
|
Available Commands: |
|
|
Available Commands: |
|
|
init 初始化系统 |
|
|
init 初始化系统 |
|
|
Flag: |
|
|
Flag: |
|
|
-base-dir 新增用户名, 默认: '/data/jenkins-agent/env' |
|
|
-base-dir 新增用户名, 默认: '/data/jenkins-agent' |
|
|
-agent jenkins-agent下载地址(\${JENKINS_URL}/jnlpJars/agent.jar), 默认: '' |
|
|
-agent jenkins-agent下载地址(\${JENKINS_URL}/jnlpJars/agent.jar), 默认: '' |
|
|
-git 是否安装git, 默认: '1' |
|
|
-git 是否安装git, 默认: '1' |
|
|
-java 是否安装java(8, 11, 17), 默认: '1' |
|
|
-java 是否安装java(8, 11, 17), 默认: '1' |
|
|
@ -414,7 +415,7 @@ Flag: |
|
|
|
|
|
|
|
|
Example: |
|
|
Example: |
|
|
jenkins-agent-install-centos.sh init \\ |
|
|
jenkins-agent-install-centos.sh init \\ |
|
|
-base-dir '/data/jenkins-agent/env' \\ |
|
|
-base-dir '/data/jenkins-agent' \\ |
|
|
-agent '' \\ |
|
|
-agent '' \\ |
|
|
-git 0 \\ |
|
|
-git 0 \\ |
|
|
-java 0 \\ |
|
|
-java 0 \\ |
|
|
|