jenkins vue 打包特别慢_Jenkins 自动化部署
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 复制代码
下载完成后 将项目放入tomcat
中webapps
文件夹下
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 在服务器中添加相关支持环境
- 安装 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 复制代码
- 安装 git
yum install git 复制代码
- 安装 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 # 然后在其他的地方都可以使用这两个命令了 复制代码
- 安装
maven
, 并在/etc/profile
中配置
6.0 系统配置
在全局配置工具中, 配置 jdk
, maven
, git
, node
的安装路径
7.0 自动化部署 前端vue项目
部署场景, 在A机器进行webpack打包, 将打包后的文件,发送到B机器上指定的文件夹, 通过nginx代理实现访问
- 创建一个自由风格的软件项目
2.填写项目描述
- 选择参数化构建过程, 后续可以选择不同分支进行打包
- 选择不同的版本控制工具 svn 和 git都可以, 这里我们使用git
需要添加 自己的用户和密码, 不然会出现下面的情况
- 在构建环境中选择
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 * 复制代码
点击保存, 这样就完成了 前端项目的搭建了
8.0 自动化部署 spring boot 项目
- 新建任务, 创建maven 项目
- 填写项目描述, 配置参数构建
- 配置源码管理
- 配置构建环境 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 & 复制代码
注意点
shell
前需要添加BUILD_ID=DONTKILLME
, 不然在jenkins创建了java 进程之后,退出的时候, 会杀死之前创建过的工程- 需要在前面添加
source /etc/profile
, 不然可能会出现java
命令找不到的情况
到此 springboot的项目便搭建完成了
9.0 如果设置了密码之后, 又忘记了密码应该怎么办
- 进入到jenkins的配置文件中
cd /var/lib/jenkins/users vim config.xml 复制代码
替换途中的值, 替换为
#jbcrypt:$2a$10$DdaWzN64JgUtLdvxWIflcuQu2fgrrMSAMabF5TSrGK5nXitqK9ZMS 复制代码
替换后,重启jenkins
systemctl restart jenkins 复制代码
登录密码就变为 1111111 了
Jenkins 自动化部署 - 掘金juejin.im
jenkins vue 打包特别慢_Jenkins 自动化部署相关推荐
- jenkins vue 打包特别慢_从零开始 使用VUE开发桌面客户端
Electron 是一个非常强大的工具,它可以用来构建跨平台的桌面应用,编写一次到处运行. 知乎视频www.zhihu.com 0. 准备工作 安装好nodejs 在终端中输入 node -v 看到 ...
- (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)
前提:jenkins安装 参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装) 1插件下载 主要是检查如下插件是否 ...
- maven配置自动部署到服务器上,jenkins+svn+maven安装配置并自动化部署成功(超级详细)...
jenkins+svn+maven安装配置并自动化部署成功(超级详细) jenkins+svn+maven安装配置并自动化部署成功(超级详细) 简言 写这篇博客的原因是因为每次部署服务器的流程都是在做 ...
- (三)jenkins+bonobo git server+windows系统自动化部署springboot项目(远程windows自动化部署)
前提 jenkins安装,参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装) 自动化部署,参考:(二)jenki ...
- jenkins部署流程图_Jenkins 自动化部署上线
jenkins自动化部署项目,通过jenkins 部署来节省运维时间,不需要手动cp上线及版本发布 Jenkins 自动化部署上线 Jenkins 一.Jenkins是什么 Jenkins是一款自包含 ...
- jenkins结合ansible用shell实现自动化部署和回滚
最近用jenkins+gitlab+ansible做持续化集成,自动化部署和版本回滚.然而deploy plugin没能做到增量升级和回滚操作,折腾了很久决定自己写个脚本来简单实现. 环境: cent ...
- Jenkins + 云效 前后端项目自动化部署
环境安装 创建目录 后续下载的内容 放在里边方便管理 cd /mkdir dockercd dockermkdir maven mkdir jenkinsmkdir javamkdir registr ...
- 在AWS EC2上搭建jenkins并且整合git+maven+docker自动化部署环境(一)
日以继日这套环境终于搭建好了,并且能够一键打包部署服务,这个环境我打算分成几个章节来说明,本章节介绍如何在AWS配置搭建EC2服务 AWS上部署搭建EC2实例 aws是一个云平台,里面有很多组件,比如 ...
- 利用Jenkins的Pipeline实现集群自动化部署SpringBoot项目
2019独角兽企业重金招聘Python工程师标准>>> 环境准备 Git: 安装部署使用略. Jenkins: 2.46.2版本安装部署略(修改jenkins执行用户为root,省得 ...
- (一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装)
1 环境确认 先确认服务器安装了JDK,maven,git,并配置好了环境变量 2 jenkins war包下载 官网路径 https://www.jenkins.io/download/ 因为安装的 ...
最新文章
- Gartner公布2018十大技术发展趋势 2025年AI重塑商业模式
- 反向非归零编码_【基础】什么是编码器?
- 使用Strust2框架写HelloWorld
- WF4B1 的有返回值的Activity,Bookmark,有返回值Bookmark
- 【转】tcp链接的状态
- 【学习笔记】吴恩达机器学习 WEEK1
- Java注解配置rest服务_Spring Boot 注解—常用注解
- LeetCode 142. 环形链表 II(链表环的检测)
- 2018蓝桥模拟赛(一) 数独(dfs)
- 神经网络控制与matlab仿真,matlab神经网络能做什么
- MongoDB可视化工具mongochef
- php 美化注册界面,美化,从登录界面背景开始
- Android从Assets复制文件到本地
- Python 递归函数计算阶乘
- Recovery启动流程(1)--- 应用层到开机进入recovery详解
- 【问链-区块链基础知识系列】 第十课 首席架构师谈区块链技术演进
- 呀!原来这就是前端监控系统
- k短路 k shortest path 入门
- Qt、X11、Qt/Embedded、Qt-X11
- 海思 YOLOv5 pytorch 转 onnx 转 Caffe 再转 wk 的转化详解
热门文章
- Julia:副本copy引发的问题,期待0.4.0版本!
- Intel® QAT 助力Nginx压缩处理
- 【数据预测】基于matlab灰狼算法优化LSSVM数据预测【含Matlab源码 433期】
- 【三维路径规划】基于matlab自适应遗传算法求解单无人机三维路径规划问题【含Matlab源码 214期】
- 【语音合成】基于matlab线性预测系数和预测误差语音合成【含Matlab源码 564期】
- 【语音分析】基于matlab线性预测系数对比【含Matlab源码 557期】
- 【目标跟踪】基于matlab红外图像弱小目标检测与跟踪【含Matlab源码 374期】
- 【OFDM通信】基于matlab OFDM通信系统仿真【含Matlab源码 315期】
- spark安装包_Spark基础:Spark On Yarn(上)
- centOS7.6 服务器配置环境