Jenkins是一个自包含的、开源的自动化服务器,能够用于自动化与构建、测试、交付或部署软件相关的各类任务。前端
Jenkins能够经过本机系统包、Docker安装,甚至能够由任何安装了Java运行时环境(JRE)的机器独立运行vue
三种方式java
mkdir -p /usr/local/atom.hu/jenkins
chown -R 1000:1000 /usr/loca/atom.hu/jenkins
复制代码
docker pull jenkins
复制代码
docker run -p 8080:8080 -p 50000:50000 --name jenkins --privileged=true -v /usr/local/atom.hu/jenkins/:/var/jenkins_home -d jenkins
复制代码
稍做等待 node
进入目录查看密码linux
[root@localhost secrets]# cat initialAdminPassword
9ca7368042fe45be8b693ab43e7797d1
复制代码
在jenkins官网中下载war包webpack
能够直接右键复制软件地址, 使用 wget 命令进行下载nginx
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
复制代码
下载完成后 将项目放入tomcat
中webapps
文件夹下git
获取软件安装源web
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
复制代码
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
复制代码
安装jenkinsspring
yum -y install jenkins
复制代码
安装完成后 启动jenkins
systemctl start jenkins
复制代码
经过对三种方式的实验 每种方式都进行了探索, 最后选择经过yum的方式进行安装, 也是最麻烦的安装方式, 可是相对可靠, docker 的安装方式虽然简便, 可是会遇到比较多软件环境问题. 使用jenkins.war的方式, 也相对比较简便, 可是也是遇到比较多的问题, 最后仍是放弃了, 采用了最原始也是最麻烦的方式
为了保证后面的配置可以顺利进行, 须要一些前期的准备工做
修改jenkins的配置文件
# 打开jenkins的配置文件
vim /etc/sysconfig/jenkins
# 修改 $JENKINS_USER 的值为root
$JENKINS_USER="root"
复制代码
修改Jenkins相关文件夹用户权限
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
复制代码
重启Jenkins服务并检查运行Jenkins的用户是否已经切换为root
# 重启Jenkins(如果其余方式安装的jenkins则重启方式略不一样)
systemctl restart jenkins
# 查看Jenkins进程所属用户
ps -ef | grep jenkins
# 若显示为root用户,则表示修改完成
复制代码
到此为止, 前期准备工做就算完按成了, 能够开始进行jenkins自动化部署了
在jenkins中, 新手推荐直接安装推荐插件, 后设置管理员密码后, 进入主界面, 切记不要忘记密码, 虽然也有解决办法, 可是仍是记住密码的好
Git Parameter Plug-In
在后续的自动化部署中, 咱们须要经过参数, 设置不一样的分支, 对不一样的分支进行打包, 须要这个插件的支持
Maven Integration plugin
在部署spring boot 项目的时候, 咱们须要建立maven项目, 在安装了这个插件以后, 在建立项目的时候, 若是没有这个插件, 在建立项目的时候就没有 构建一个maven项目
的选项
Publish Over SSH
Publish Over SSH
的支持
这里注意, 在填主机Ip的时候, 若是两台机器同属一个运行商的话, 尽可能填写内网IP比较好, 这个很重要
官方说法
You will need to explicitly install a Java runtime environment, because Oracle's Java RPMs are incorrect and fail to register as providing a java dependency. Thus, adding an explicit dependency requirement on Java would force installation of the OpenJDK JVM.
yum install java-1.8.0-openjdk
复制代码
yum install git
复制代码
# 下载安装包
wget https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz
# 解压
tar -xvf node-v10.15.3-linux-x64.tar.xz -C ./
# 将node命令和npm设置软链接到 /usr/bin 中
ln -s ./node /usr/bin/node
ln -s ./npm /usr/bin/npm
# 而后在其余的地方均可以使用这两个命令了
复制代码
maven
, 并在/etc/profile
中配置在全局配置工具中, 配置 jdk
, maven
, git
, node
的安装路径
部署场景, 在A机器进行webpack打包, 将打包后的文件,发送到B机器上指定的文件夹, 经过nginx代理实现访问
2.填写项目描述
Send files or execute commands over SSH after the build runs
这里的配置为, 在本地构建完成以后, 咱们须要将哪些文件发送到目标主机上, 发送到目标主机上, 并执行什么命令
cd /home/project/web/test
tar -zxvf dist.tar.gz
rm -rf dist.tar.gz
复制代码
/home/project/web/test
为目标主机nginx 配置过的目录
Execute Shell
cnpm i &&
rm -rf dist &&
npm run build &&
cd dist&&
tar -zcvf dist.tar.gz *
复制代码
点击保存, 这样就完成了 前端项目的搭建了
BUILD_ID=DONTKILLME
source /etc/profile;
cd /home/project/java/test&&
pid=`ps -ef | grep 'jar 名称' | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi
java -jar lk-truck-mendery-webfront-1.0.0-SNAPSHOT.jar > nohup.log &
复制代码
注意点
shell
前须要添加 BUILD_ID=DONTKILLME
, 否则在jenkins建立了java 进程以后,退出的时候, 会杀死以前建立过的工程source /etc/profile
, 否则可能会出现 java
命令找不到的状况到此 springboot的项目便搭建完成了
cd /var/lib/jenkins/users
vim config.xml
复制代码
#jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS
复制代码
替换后,重启jenkins
systemctl restart jenkins
复制代码
登陆密码就变为 1111111 了