Browse Source

08jenkins-agent-install-centos.sh

master
lizw 3 years ago
parent
commit
abdea6732e
  1. 69
      00base/08jenkins-agent-install-centos.sh

69
00base/08jenkins-agent-install-centos.sh

@ -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 \\

Loading…
Cancel
Save