Shell脚本-自动化部署jenkins

该脚本详细展示了自动化部署 Git、JDK、Maven 和 Tomcat 的过程,并实现了 Jenkins 的安装。首先停用防火墙并关闭 SELinux,然后依次编译安装 Git、JDK,并设置环境变量。接着安装 Maven,启动并验证 Tomcat,最后部署 Jenkins 并获取初始管理员密码。此外,脚本还包含了 SSH 免密设置和远程主机的免密登录。
摘要由CSDN通过智能技术生成

自动化部署jenkins

#!/usr/bin/bash
##jenkins
##ShanHai
git_install(){
	echo "即将部署git,请耐心等待"
	yum install net-tools make curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker -y &>/dev/null
	systemctl stop firewalld
	setenforce 0 &>/dev/null
	tar xf git-2.9.5.tar.gz &>/dev/null
	cd git-2.9.5
	echo "即将进行编译安装,时间较长,请耐心等待~"
	make prefix=/usr/local/git all &>/dev/null
	make prefix=/usr/local/git install &>/dev/null
	echo "编译安装完成,即将设置配置文件"
	cd ~/7.jenkins
	cat /etc/bashrc | grep JAVA &>/dev/null
	if [ $? -eq 0 ];then
	echo "配置文件已设置,无需操作"
	else
	echo "配置文件未设置,即将设置"
	cat >>/etc/bashrc<<-EOF
	PATH=\$PATH:\$HOME/bin:/usr/local/git/bin
	JAVA_HOME=/usr/local/jdk
	export PATH=\$PATH:\$JAVA_HOME/bin
	export M2_HOME=/usr/local/maven
	export M2=\$M2_HOME/bin
	PATH=\$M2:\$PATH:\$HOME/bin:/usr/local/git/bin
	export JAVA_HOME=/usr/local/jdk
	export PATH
	CATALINA_HOME=/usr/local/tomcat
	export CATALINA_HOME
EOF
	echo "配置文件设置成功"
	fi
	source /etc/bashrc
	git --version &>/dev/null
	if [ $? -eq 0 ];then
	echo "git 部署成功"
	else
	echo "git 部署失败,请手动检查"
	fi
}

jdk_install(){
	echo "即将部署jdk,请耐心等待"
	tar xvzf jdk-8u151-linux-x64.tar.gz -C /usr/local &>/dev/null
	cd /usr/local
	mv jdk1.8.0_151 jdk
	cd ~/7.jenkins
	source /etc/bashrc
	java -version &>/dev/null
	if [ $? -eq 0 ];then
	echo "jdk 部署成功"
	else
	echo "jdk 部署失败,请手动检查"
	fi
}

maven_install(){
	echo "即将部署maven,请耐心等待"
	tar xvzf apache-maven-3.5.3-bin.tar.gz -C /usr/local &>/dev/null
	mv /usr/local/apache-maven-3.5.3/ /usr/local/maven
	source /etc/bashrc
	mvn -version &>/dev/null
	if [ $? -eq 0 ];then
	echo "maven 部署成功"
	else
	echo "maven 部署失败,请手动检查"
	fi
}

tomcat_install(){
	echo "即将部署tomcat,请耐心等待"
	tar xvzf apache-tomcat-9.0.1.tar.gz -C /usr/local &>/dev/null
	mv /usr/local/apache-tomcat-9.0.1/ /usr/local/tomcat
	source /etc/bashrc
	echo "即将启动tomcat"
	/usr/local/tomcat/bin/startup.sh &>/dev/null
	sleep 5
	netstat -ntlp | grep 8080 &>/dev/null
	if [ $? -eq 0 ];then
	echo "tomcat 启动成功"
	echo "启动成功,即将自动关闭"
	sleep 5
	/usr/local/tomcat/bin/shutdown.sh &>/dev/null
	pkill java
	sleep 5
	netstat -ntlp | grep 8080 &>/dev/null
		if [ $? -eq 0 ];then
		echo "tomcat 关闭失败"
		else
		echo "tomcat 关闭成功"
		fi
	else
	echo "tomcat 启动失败,请手动检查"
	fi
}

jenkins_install(){
	echo "即将部署jenkins,请耐心等待"
	cp jenkins.war /usr/local/tomcat/webapps/
	echo "即将启动tomcat"
	/usr/local/tomcat/bin/startup.sh &>/dev/null
	sleep 5
	netstat -ntlp | grep 8080 &>/dev/null
	if [ $? -eq 0 ];then
	echo "tomcat 启动成功"
	echo "jenkins部署成功,密码为:"
        cat /root/.jenkins/secrets/initialAdminPassword
	else
	echo "tomcat 启动失败,请手动检查" 
	fi
}

get_keygen(){
	echo "即将进行免密设置,请耐心等候"
	yum -y install expect &>/dev/null
	/usr/bin/expect <<-EOF
	spawn ssh-keygen
	expect {
		".ssh/id_rsa):" { send "\r"; exp_continue }
		"Overwrite (y/n)?" { send "y\r"; exp_continue }
		"no passphrase):" { send "\r"; exp_continue }
		"again:" { send "\r" };
		}
		expect eof
EOF
}

send_key(){
	/usr/bin/expect <<-EOF
	spawn ssh-copy-id -i  192.168.218.155
	expect {
		"yes/no" { send "yes\r"; exp_continue }
		"password:" { send "1\r" };
		}
		expect eof
EOF
	echo "免密设置成功,即将免密登陆"
	ssh  192.168.218.155
}

git_install
jdk_install
maven_install
tomcat_install
jenkins_install
get_keygen
send_key
Shell脚本在LAMP(Linux, Apache, MySQL, PHP)自动化部署中扮演着关键角色,它们允许系统管理员通过预定义的脚本来管理和配置这些关键组件。LAMP部署通常涉及以下几个步骤: 1. **环境设置**:首先,你需要确保你的服务器上已经安装了Linux操作系统、Apache web服务器、MySQL数据库和PHP编程语言。 2. **配置Apache**:编写或使用脚本配置Apache,可能包括设置虚拟主机、安装SSL证书等,确保web服务能够正确监听并处理请求。 3. **安装MySQL**:如果MySQL还未安装,脚本会用于下载并安装MySQL,设置root用户的密码以及基本权限。 4. **配置MySQL**:创建数据库、用户和权限,根据应用需求进行调整。 5. **PHP集成**:确保PHP模块与Apache兼容,并配置PHP-FPM(FastCGI Process Manager)。 6. **部署应用**:将PHP应用程序(如WordPress、Drupal等)的源码上传到指定目录,执行必要的初始化脚本或安装程序。 7. **环境变量和路径设置**:配置环境变量,确保PHP能访问MySQL服务器和Apache的配置。 8. **启动和停止服务**:创建启动/停止脚本,以便于系统管理。 9. **监控和日志管理**:配置日志记录和错误检查,确保系统的稳定运行。 10. **自动化部署流程**:使用版本控制工具(如Git)、构建工具(如Composer或npm)和CI/CD工具(如Jenkins或GitLab CI)实现代码的自动部署和更新。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值