本地写好代码后部署到服务器的tomcat上确实是一件麻烦的事情,须要先打成war包,再上传到服务器,再启动tomcat,确实是一件麻烦的事情,做为程序员岂能作这种重复且没有技术含量的事情,因而就想到了利用jekins来进行自动化,我只负责提交代码,别的就无论了,也是一件很棒棒的事情.java
vim /etc/profile
//在这个文件末尾加上
export MAVEN_HOME=/root/maven3.4.5
export PATH=$MAVEN_HOME/bin:$PATH
//保存后在命令行输入,启动配置
. /etc/profile
export下看下输出看看配置成没成功
复制代码
rpm -ivh jenkins-2.175-1.1.noarch.rpm
vi /etc/sysconfig/jenkins
#修改用户和端口(这里不是再最后面添加了 是修改本来就有的值)
JENKINS_USER="root"
JENKINS_PORT="8888"
systemctl start jenkins
#这时候就能够直接访问IP+8888来进行安装啦 以后会跳出一个须要密码的界面 去提示的路径获取密码 而后选择建议安装 而后等待安装好插件就能够了
复制代码
5.mysql8(我是选择docker安装的方式 由于快 没装docker的能够去百度下怎么安装docker)mysql
docker pull mysql:8.0
# --restart-always: docker服务启动时,自动启动容器,而且当容器中止时,尝试重启容器。
# MYSQL_ROOT_PASSWORD: root帐号的密码
# --character-set-server --collation-server 默认数据库编码和默认排序
docker run --name mysql -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=root -v /var/lib/mysql/:/var/lib/mysql/ -d mysql:8.0 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
docker exec -it mysql /bin/bash
mysql -uroot -p root
#先更改ser表中用户为root的host字段,使他能够远程访问
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
flush privileges;
复制代码
一切顺利的话,你会进入到以下的界面中(也许会有点点不同 由于我有新建任务了):git
要想实现自动化部署打包,首先jenkins得有权限从github那边拿到代码,而后每次提交代码github得可以通知到jenkins.前者咱们在github里面配置私有token,后者利用github的webhook来进行.程序员
1.配置token:github->setting->developer setting->personal access tokens->generate new token(而后scopes选择admin和admin:repo_hook就好了.cretae以后会返回给你一个token,本身先保存此token,若是丢失,以后再也没法找到这个token.请注意这个token 它很重要 也就是后文中出现屡次的secret text )github
3.确认jenkins中已安装好github插件,没有的话去插件管理里面去搜索安装,接下来去配置认证. 系统管理 --> 系统设置 --> GitHub Server --> 添加web
注意secret填写以前github那边获取到的token,id能够不填,描述就洒洒水啦. sql
设置完成后,点击TestConnection,提示Credentials verified for user xxxx, rate limit: xxx,则代表有效。docker
4.系统管理-->全局工具管理->设置好你以前安装好的jdk git maven路径.shell
5.固然是最激动人心的环境 新建任务(选择一个自由风格的任务): 1).填写项目描述和项目主页(github上的地址,注意不是下载的git地址,是项目主页,github.com/本身用户名/项目名的那个)数据库
5).构建后操做选择set github status就能够啦
而后提交代码享受自动打包部署的快感吧. (ps:本人打包的时候老是报 mvn clean install的错误 查找屡次后发现是本身配置的war包打包插件的路径配置的不对,折腾了很长时间,你们有报错的能够看任务的输出日志来定位查找状况)
才疏学浅 错漏之处在所不免