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
@ -223,7 +223,8 @@ function init:mkdir() {
function init:jenkins_agent() {
log::info "[jenkins-agent]" "下载jenkins-agent..."
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 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"
@ -289,38 +290,38 @@ function init:java() {
log::info "[java]" "安装java..."
local host="127.0.0.1"
# jdk8
local java8_path="${BASE_DIR}/java/${JDK8_DIR_NAME}"
local java8_path="${BASE_DIR}/env/java/${JDK8_DIR_NAME}"
command::exec "${host}" "
if [ ! -d "$java8_path" ]; then
mkdir -p ${BASE_DIR}/java
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate ${JDK8_URL} -O ${BASE_DIR}/java/${JDK8_FILE_NAME}
cd ${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}/env/java/${JDK8_FILE_NAME}
cd ${BASE_DIR}/env/java
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
"
check::exit_code "$?" "java" "$host 安装java8" "exit"
# jdk11
local java11_path="${BASE_DIR}/java/${JDK11_DIR_NAME}"
local java11_path="${BASE_DIR}/env/java/${JDK11_DIR_NAME}"
command::exec "${host}" "
if [ ! -d "$java11_path" ]; then
mkdir -p ${BASE_DIR}/java
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate ${JDK11_URL} -O ${BASE_DIR}/java/${JDK11_FILE_NAME}
cd ${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}/env/java/${JDK11_FILE_NAME}
cd ${BASE_DIR}/env/java
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
"
check::exit_code "$?" "java" "$host 安装java11" "exit"
# jdk17
local java17_path="${BASE_DIR}/java/${JDK17_DIR_NAME}"
local java17_path="${BASE_DIR}/env/java/${JDK17_DIR_NAME}"
command::exec "${host}" "
if [ ! -d "$java17_path" ]; then
mkdir -p ${BASE_DIR}/java
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate ${JDK17_URL} -O ${BASE_DIR}/java/${JDK17_FILE_NAME}
cd ${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}/env/java/${JDK17_FILE_NAME}
cd ${BASE_DIR}/env/java
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
"
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_file_name="gradle-${GRADLE_VERSION}-bin.zip"
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}" "
if [ ! -d "$gradle_path" ]; then
mkdir -p ${BASE_DIR}/gradle
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate $gradle_url -O ${BASE_DIR}/gradle/$gradle_file_name
cd ${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}/env/gradle/$gradle_file_name
cd ${BASE_DIR}/env/gradle
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
"
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_file_name="apache-maven-${MAVEN_VERSION}-bin.tar.gz"
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}" "
if [ ! -d "$maven_path" ]; then
mkdir -p ${BASE_DIR}/maven
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate $maven_url -O ${BASE_DIR}/maven/$maven_file_name
cd ${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}/env/maven/$maven_file_name
cd ${BASE_DIR}/env/maven
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
"
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_file_name="node-v${NODEJS_VERSION}-linux-x64.tar.gz"
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}" "
if [ ! -d "$nodejs_path" ]; then
mkdir -p ${BASE_DIR}/nodejs
wget --timeout=10 --waitretry=3 --tries=5 --retry-connrefused --no-check-certificate $nodejs_url -O ${BASE_DIR}/nodejs/$nodejs_file_name
cd ${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}/env/nodejs/$nodejs_file_name
cd ${BASE_DIR}/env/nodejs
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
"
check::exit_code "$?" "nodejs" "$host 安装nodejs(${NODEJS_VERSION})" "exit"
@ -404,7 +405,7 @@ Usage:
Available Commands:
init 初始化系统
Flag:
-base-dir 新增用户名, 默认: '/data/jenkins-agent/env'
-base-dir 新增用户名, 默认: '/data/jenkins-agent'
-agent jenkins-agent下载地址(\${JENKINS_URL}/jnlpJars/agent.jar), 默认: ''
-git 是否安装git, 默认: '1'
-java 是否安装java(8, 11, 17), 默认: '1'
@ -414,7 +415,7 @@ Flag:
Example:
jenkins-agent-install-centos.sh init \\
-base-dir '/data/jenkins-agent/env' \\
-base-dir '/data/jenkins-agent' \\
-agent '' \\
-git 0 \\
-java 0 \\

Loading…
Cancel
Save