ps: 一篇很好的自动化部署教程,为了方便,拿到这里记录保存一下,方便以后使用

1. JENKINS 是什么
Jenkins是一个自包含的、开源的自动化服务器,可以用于自动化与构建、测试、交付或部署软件相关的各种任务。
Jenkins可以通过本机系统包、Docker安装,甚至可以由任何安装了Java运行时环境(JRE)的机器独立运行
2.在centos 系统上安装jenkins
三种方式

  • 通过 docker 安装
  • 通过jenkins.war 在tomcat中运行
  • 通过yum 的方式安装

2.1 通过docker 安装

  • 创建jenkins 文件,并修改文件权限

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 复制代码

  • 稍作等待
  • 进入目录查看密码

[root@localhost secrets]# cat initialAdminPassword 9ca7368042fe45be8b693ab43e7797d1 复制代码
2.2 通过jenkins.war 的方式安装
在jenkins官网中下载war包

可以直接右键复制软件地址, 使用 wget 命令进行下载
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war 复制代码
下载完成后 将项目放入tomcatwebapps 文件夹下
2.3 通过yum的方式安装jenkins
获取软件安装源
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 复制代码
安装jenkins
yum -y install jenkins 复制代码
安装完成后 启动jenkins
systemctl start jenkins 复制代码
通过对三种方式的实验 每种方式都进行了探索, 最后选择通过yum的方式进行安装, 也是最麻烦的安装方式, 但是相对可靠, docker 的安装方式虽然简便, 但是会遇到比较多软件环境问题. 使用jenkins.war的方式, 也相对比较简便, 但是也是遇到比较多的问题, 最后还是放弃了, 采用了最原始也是最麻烦的方式
3.0 使用jenkins自动化部署的前提条件
为了保证后面的配置能够顺利进行, 需要一些前期的准备工作修改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自动化部署了
4.0 在jenkins中安装插件
在jenkins中, 新手推荐直接安装推荐插件, 后设置管理员密码后, 进入主界面, 切记不要忘记密码, 虽然也有解决办法, 但是还是记住密码的好

安装必要的jenkins插件Git Parameter Plug-In

在后续的自动化部署中, 我们需要通过参数, 设置不同的分支, 对不同的分支进行打包, 需要这个插件的支持Maven Integration plugin

在部署spring boot 项目的时候, 我们需要创建maven项目, 在安装了这个插件之后, 在创建项目的时候, 如果没有这个插件, 在创建项目的时候就没有 构建一个maven项目的选项Publish Over SSH

有的时候我们在A机器上搭建的jenkins 但是却可能是在B机器上部署项目, 需要Publish Over SSH的支持
这里注意, 在填主机Ip的时候, 如果两台机器同属一个运行商的话, 尽量填写内网IP比较好, 这个很重要
5.0 在服务器中添加相关支持环境

  1. 安装 openjdk 1.8 jenkins 的运行需要openjdk依赖

官方说法
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 复制代码

  1. 安装 git

yum install git 复制代码

  1. 安装 node, 后续会部署前端项目需要

# 下载安装包 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 # 然后在其他的地方都可以使用这两个命令了 复制代码

  1. 安装maven, 并在/etc/profile 中配置

6.0 系统配置

在全局配置工具中, 配置 jdk, maven, git, node 的安装路径

7.0 自动化部署 前端vue项目
部署场景, 在A机器进行webpack打包, 将打包后的文件,发送到B机器上指定的文件夹, 通过nginx代理实现访问

  1. 创建一个自由风格的软件项目

2.填写项目描述

  1. 选择参数化构建过程, 后续可以选择不同分支进行打包
  1. 选择不同的版本控制工具 svn 和 git都可以, 这里我们使用git

需要添加 自己的用户和密码, 不然会出现下面的情况

  1. 在构建环境中选择 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 配置过的目录

  1. 在构建中选中 Execute Shell

并配置构建时执行的命令

cnpm i && rm -rf dist && npm run build && cd dist&& tar -zcvf dist.tar.gz * 复制代码
点击保存, 这样就完成了 前端项目的搭建了
8.0 自动化部署 spring boot 项目

  1. 新建任务, 创建maven 项目
  1. 填写项目描述, 配置参数构建
  1. 配置源码管理
  1. 配置构建环境 ssh server

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 & 复制代码
注意点

  1. shell 前需要添加 BUILD_ID=DONTKILLME, 不然在jenkins创建了java 进程之后,退出的时候, 会杀死之前创建过的工程
  2. 需要在前面添加 source /etc/profile, 不然可能会出现 java 命令找不到的情况

到此 springboot的项目便搭建完成了
9.0 如果设置了密码之后, 又忘记了密码应该怎么办

  1. 进入到jenkins的配置文件中

cd /var/lib/jenkins/users vim config.xml 复制代码

替换途中的值, 替换为
#jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS 复制代码
替换后,重启jenkins
systemctl restart jenkins 复制代码
登录密码就变为 1111111 了

Jenkins 自动化部署 - 掘金​juejin.im

jenkins vue 打包特别慢_Jenkins 自动化部署相关推荐

  1. jenkins vue 打包特别慢_从零开始 使用VUE开发桌面客户端

    Electron 是一个非常强大的工具,它可以用来构建跨平台的桌面应用,编写一次到处运行. 知乎视频​www.zhihu.com 0. 准备工作 安装好nodejs 在终端中输入 node -v 看到 ...

  2. (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)

    前提:jenkins安装 参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装) 1插件下载 主要是检查如下插件是否 ...

  3. maven配置自动部署到服务器上,jenkins+svn+maven安装配置并自动化部署成功(超级详细)...

    jenkins+svn+maven安装配置并自动化部署成功(超级详细) jenkins+svn+maven安装配置并自动化部署成功(超级详细) 简言 写这篇博客的原因是因为每次部署服务器的流程都是在做 ...

  4. (三)jenkins+bonobo git server+windows系统自动化部署springboot项目(远程windows自动化部署)

    前提 jenkins安装,参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装) 自动化部署,参考:(二)jenki ...

  5. jenkins部署流程图_Jenkins 自动化部署上线

    jenkins自动化部署项目,通过jenkins 部署来节省运维时间,不需要手动cp上线及版本发布 Jenkins 自动化部署上线 Jenkins 一.Jenkins是什么 Jenkins是一款自包含 ...

  6. jenkins结合ansible用shell实现自动化部署和回滚

    最近用jenkins+gitlab+ansible做持续化集成,自动化部署和版本回滚.然而deploy plugin没能做到增量升级和回滚操作,折腾了很久决定自己写个脚本来简单实现. 环境: cent ...

  7. Jenkins + 云效 前后端项目自动化部署

    环境安装 创建目录 后续下载的内容 放在里边方便管理 cd /mkdir dockercd dockermkdir maven mkdir jenkinsmkdir javamkdir registr ...

  8. 在AWS EC2上搭建jenkins并且整合git+maven+docker自动化部署环境(一)

    日以继日这套环境终于搭建好了,并且能够一键打包部署服务,这个环境我打算分成几个章节来说明,本章节介绍如何在AWS配置搭建EC2服务 AWS上部署搭建EC2实例 aws是一个云平台,里面有很多组件,比如 ...

  9. 利用Jenkins的Pipeline实现集群自动化部署SpringBoot项目

    2019独角兽企业重金招聘Python工程师标准>>> 环境准备 Git: 安装部署使用略. Jenkins: 2.46.2版本安装部署略(修改jenkins执行用户为root,省得 ...

  10. (一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装)

    1 环境确认 先确认服务器安装了JDK,maven,git,并配置好了环境变量 2 jenkins war包下载 官网路径 https://www.jenkins.io/download/ 因为安装的 ...

最新文章

  1. Gartner公布2018十大技术发展趋势 2025年AI重塑商业模式
  2. 反向非归零编码_【基础】什么是编码器?
  3. 使用Strust2框架写HelloWorld
  4. WF4B1 的有返回值的Activity,Bookmark,有返回值Bookmark
  5. 【转】tcp链接的状态
  6. 【学习笔记】吴恩达机器学习 WEEK1
  7. Java注解配置rest服务_Spring Boot 注解—常用注解
  8. LeetCode 142. 环形链表 II(链表环的检测)
  9. 2018蓝桥模拟赛(一) 数独(dfs)
  10. 神经网络控制与matlab仿真,matlab神经网络能做什么
  11. MongoDB可视化工具mongochef
  12. php 美化注册界面,美化,从登录界面背景开始
  13. Android从Assets复制文件到本地
  14. Python 递归函数计算阶乘
  15. Recovery启动流程(1)--- 应用层到开机进入recovery详解
  16. 【问链-区块链基础知识系列】 第十课 首席架构师谈区块链技术演进
  17. 呀!原来这就是前端监控系统
  18. k短路 k shortest path 入门
  19. Qt、X11、Qt/Embedded、Qt-X11
  20. 海思 YOLOv5 pytorch 转 onnx 转 Caffe 再转 wk 的转化详解

热门文章

  1. Julia:副本copy引发的问题,期待0.4.0版本!
  2. Intel® QAT 助力Nginx压缩处理
  3. 【数据预测】基于matlab灰狼算法优化LSSVM数据预测【含Matlab源码 433期】
  4. 【三维路径规划】基于matlab自适应遗传算法求解单无人机三维路径规划问题【含Matlab源码 214期】
  5. 【语音合成】基于matlab线性预测系数和预测误差语音合成【含Matlab源码 564期】
  6. 【语音分析】基于matlab线性预测系数对比【含Matlab源码 557期】
  7. 【目标跟踪】基于matlab红外图像弱小目标检测与跟踪【含Matlab源码 374期】
  8. 【OFDM通信】基于matlab OFDM通信系统仿真【含Matlab源码 315期】
  9. spark安装包_Spark基础:Spark On Yarn(上)
  10. centOS7.6 服务器配置环境