服务器自动化部署

服务器自动化部署

  • 前言

在项目部署发版的时候需要很多繁琐步骤,如连接服务器、打包、启动、备份等这一系列的操作。而这个操作特别是在测试的时候,需要反复操作。操作的过程完全需要人工,失误率很大、占用时间多。所有我们需要一个自动化机器人来帮助我们做这些事情,获取最新代码、编译打包、移除项目、解压项目、拷贝项目、重启服务等操作。

 

  • 准备工作、具体要干些什么。
  1. linux 服务器准备一台 版本为centos 7 查看当前系统版本:lsb_release -a
  2. 下载git、mysql5.6、jdk1.8、Jenkins,全为linux 64版本。
  3. 服务器在阿里云管理台开通端口3306/8088/8096,以待服务备用。
  4. 系统防火墙关闭即可,如需开启防火墙也要开通对应端口。
  • 安装JDK

在阿里云仓库中下载jdk1.8版本:wegt https://code.aliyun.com/kar/oracle-jdk/raw/3c932f02aa11e79dc39e4a68f5b0483ec1d32abe/jdk-8u251-linux-x64.tar.gz

解压:tar -zxvf jdk-8u251-linux-x64.tar.gz -C /usr/java

配置环境变量:vim /etc/profile 打开文件

export JAVA_HOME=/usr/java/jdk1.8.0_251

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin:                                                                                   

查看版本:java -version

出现以下信息配置成功!

[[email protected] ~]# java -version

java version "1.8.0_251"

Java(TM) SE Runtime Environment (build 1.8.0_251-b08)

Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

 

 

 

  • 安装MYSQL

下载mysql5.6版本:wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.48-linux-glibc2.12-x86_64.tar.gz

解压:tar -zxvf mysql-5.6.48-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql

安装依赖库  :yum -y install autoconf && yum install libaio* -y && yum -y install numactl

添加mysql用户组和用户:groupadd mysql useradd -r -g mysql mysql

更改权限:chown -R mysql:mysql /usr/local/mysql

用mysql用户执行mysql目录中的安装脚本:./scripts/mysql_install_db --user=mysql

配置启动服务:cp support-files/mysql.server /etc/init.d/mysqld

修改启动脚本:vim /etc/init.d/mysqld

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data/mysql

权限:chmod 755 /etc/init.d/mysqld

Mysql配置文件:cp support-files/my-default.cnf /etc/my.cnf

配置数据库大小写铭感:vim /etc/my.cnf

lower_case_table_names=1

全局命令环境:vim /etc/profile

export PATH=$PATH:/usr/local/mysql/bin

    文件生效:source /etc/profile

启动/停止服务:service mysqld start/stop

进入数据库(初始化密码为空自己修改):mysql -uroot

创建数据库:create database sky_base;

使用数据库:use sky_base;

导入sql(提前准备好)source /usr/local/sky_base.sql;

参考地址:https://blog.****.net/qq_15783243/article/details/78565705

  • 安装GIT

下载最新版本:wget https://github.com/git/git/releases

解压:tar -zxvf v2.27.0.tar.gz -C /usr/git

编译:yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

      make prefix=/usr/git/git-2.27.0 all

      make prefix=/usr/git/git-2.27.0 install

配置环境:export PATH=$PATH:/usr/git/git-2.27.0/bin

生效文件: source /etc/profile

查看版本:git --version

    配置git用户信息(自己的账号和邮箱):git config --global user.name "mingcheng"

 git config --global user.email [email protected]

创建系统分组:groupadd sky

创建分组用户:useradd sky -g sky

保存用户公钥:

1.创建文件夹:mkdir /home/sky/.ssh

2.创建文件并保存(客户端)公钥到这个文件中:touch authoized_keys

创建项目仓库:mkdir -p /usr/gitdata/ccs.git

把这个文件权限分给sky账户:chown -R sky:sky ccs.git

初始化项目: git init --bare ccs.git

项目下载地址为:[email protected]:/usr/gitdata/ccs.git

参考地址:https://www.cnblogs.com/mengzhilva/p/10683311.html

  • 安装MAVEN

下载maven包:wegt http://mirrors.cnnic.cn/apache/maven/maven-

3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

解压:tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr

修改/etc/profile环境变量:export MAVEN_HOME=/usr/apache-maven-3.5.4

  export PATH=$MAVEN_HOME/bin:$PATH

生效文件: source /etc/profile

查看maven: mvn -version

七、安装JENKINS

下载Jenkins war 包:wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war

下载目录:/usr/local/project/jenkins.war

目录中启动:java -jar jenkins.war --httpPort=8096

外网登录地址:服务器IP:8096

Jenkins第一次启动秘钥(登录初始密码):afb5e9eafaa04417b1eb65fd3f8bd26f

选择默认安装插件,等待半个小时.....................如果还没安装成功

在可选下载中文安装插件:Chinese (Simplified)  我这里是已安装

服务器自动化部署

服务器自动化部署
    

 

没有安装成功的插件可以按照这种搜索一个一个的安装,重启Jenkins

配置Jenkins:

  1. 打开全局配置 选择性配置访问地址和发送邮箱

 

服务器自动化部署

服务器自动化部署

 

  1. 打开工具配置 linux服务器安装的jdk路径、maven路径、git路径(提前是Jenkins已经安装这些插件)

 

服务器自动化部署

服务器自动化部署

 

配置Jenkins完成,接下来配置一个自动发布任务。选择新建Item,填写任务名称选择maven方式。

服务器自动化部署

服务器自动化部署

 

 

添加git私钥和邮箱

服务器自动化部署

服务器自动化部署

 

 

填写maven构建方式

服务器自动化部署

 

配置需要触发的脚步程序

服务器自动化部署

 

脚本内容如下,需要在linux中添加文件保存,不然Windows会根据文件编译进制问题,在linux中报错。

服务器自动化部署

 

这里截个图,自己在linux中去手打。内容是jar包发布流程,war更简单,只需要复制到你的tomcat路径下面即可。

注意:整个系统中要注意文件权限问题,不然会报错。

更新项目:本地代码提交后,直接点build Now就行。可查看打印日志

服务器自动化部署

 

参考网站:https://blog.****.net/liuxiaoming1109/article/details/

89311696