Jenkins自动部署学习
前提:
空白系统
前置准备工作
安装JDK
cd /usr/local/jdk
执行命令,下载jdk到指定目录
wget https://download.oracle.com/otn/java/jdk/8u281-b09/89d678f2be164786b292527658ca1605/jdk-8u281-linux-x64.tar.gz?AuthParam=1617168763_f679dc8e6793bc203f3f221f414de5f5
复制代码
下载完成后,解压
tar -zxvf jdk-8u281-linux-x64.tar.gz
执行ll
修改文件夹名称
mv jdk1.8.0_281/ jdk8
配置环境变量,输入以下命令:
vim /etc/profile
在文件最下面添加
export JAVA_HOME=/opt/jdk8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
复制代码
安装Node
执行以下命令下载node
yum install nodejs
复制代码
安装git
yum install git -y
复制代码
执行git version
查看git是否安装成功
git version
复制代码
安装 maven
转到指定目录下
cd /opt/server
下载maven
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
复制代码
解压
tar -zxvf apache-maven-3.6.3-bin.tar.gz
复制代码
配置环境变量
export M2_HOME=/opt/server/apache-maven-3.6.3
export PATH=$PATH:$M2_HOME/bin
复制代码
重新加载数据
source /etc/profile
复制代码
查看maven版本
mvn -version
复制代码
安装Jenkins
下载Jenkins
通过如下地址下载Jenkins.war包。
下载完成后,上传war包到/usr/local/jenkins
安装jenkins
执行war包
java -jar jenkins.war -httpPort=9999
复制代码
如图所示即为Jenkins初始化密码
输入对应的连接地址: http://XXXX:9999
,打开Jenkins页面
输入之前复制的密码,选择安装Jenkins推荐的插件
创建一个账号,完成操作跳转到后台管理界面。
配置Jenkins
修改为使用清华源
Manage Jenkins -> Manage Plugins -> Advanced -> 升级站点
输入下面的源
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json
复制代码
保持Jenkins长期运行
通过nohup命令
nohup java -jar jenkins.war --httpPort=9999
复制代码
这里执行该命令时 报了一个错误:
nohup: ignoring input and appending output to ‘nohup.out’
复制代码
修改命令如下:
nohup java -jar jenkins.war --httpPort=9999 > /dev/null 2>&1 &
复制代码
就可以后台启动了
牛刀小试
创建一个vue项目,能够使用Jenkins持续集成、持续部署。
必须保证你当前在github存在一个项目,通过Jenkins拉取该项目。
前期准备
-
github创建一个项目
test-jenkins
-
使用ssh在jenkins所在的部署机上生成私钥、公钥(如果当前项目是公开的话,也可以不用配置。)
3. 复制id_ras.pub
文件的内容,到github的公钥字段,配置一个新的sshkey。
4. jenkins配置自己的私钥
系统管理 -> 安全 -> Manage Credentials -> 全局 -> 添加凭据
点击保存。
Jenkins创建项目
这里我用的示例项目是 vue-element-template
-
jenkins配置Nodejs,Nodejs的版本需要根据你当前项目需要的版本配置。
通过以下路径配置 Nodejs
系统管理 --> 全局工具配置 -->NodeJS配置
,选择你需要的版本,这里我选择8.16如果当前没有这项选项,或者后续npm报错则可能需要安装nodejs插件
-
安装nodejs插件。
系统管理 --> 插件管理 --> 搜索NodeJs
- 创建Jenkins项目
点击确定,创建好一个 test项目。
-
回到DashBoard,选中刚刚创建的项目,开始配置,首先配置git源
配置repository url,如果是public项目,则不需要配置Credentials,
分支按照自己项目的分支要求来,我这里是master,
- 配置触发器
可以通过配置触发器实现jenkins定时拉取代码的功能,自动发布。
-
接着配置构建环境。勾选Provide Node ....选择自己的node版本。
-
配置构建
#!/bin/bash rm -rf ./dist/* # 此处是删除之前生成的文件 node -v && # 展示node版本 npm install -g cnpm --registry=https://registry.npm.taobao.org&& # 配置淘宝镜像 cnpm install && # 安装node包依赖 npm run build:prod # 执行打包命令 rm -rf /usr/local/web/* # 此处是删除上次部署到nginx的项目文件 cp -rf ./dist/* /usr/local/web # 复制本次生成的文件到nginx的配置目录中 复制代码
-
配置完成,点击立即构建。
出现以下信息表示 构建完成。
9. 如果nginx服务器,处于启动状态的话,则刷新页面就可以看到部署成功的页面了。
- nginx配置
location / {
root '/usr/local/web/';
try_files $uri /index.html;
index index.html index.htm index.php;
}
复制代码
近期评论