在传统的开发模式中,开发的整个过程是按部就班就行:
但是这种模式存在很大的弊端:
DevOps是Development和Operations两个词的结合,将开发和运维结合起来的模式:
伴随着DevOps一起出现的两个词就是持续集成和持续交付(部署):
持续集成CI:
持续交付和持续部署:
云服务器我们可以有很多的选择:阿里云、腾讯云、华为云。
这里以目前使用更加广泛的阿里云来讲解:
我们需要注册阿里云账号
购买云服务器其实是购买一个实例。
1.来到控制台:
2.创建实例,选择类型和配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vNzVsFiK-1652240512196)(C:/Users/86341/Desktop/%E8%AF%BE%E5%A0%82/PPT/Users/coderwhy/Library/Application%20Support/typora-user-images/image-20201204152133800.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BYtexC6h-1652240512199)(C:/Users/86341/Desktop/%E8%AF%BE%E5%A0%82/PPT/Users/coderwhy/Library/Application%20Support/typora-user-images/image-20201203103047329.png)]
3.配置网络安全组
4.创建实例
Jenkins本身是依赖Java的,所以我们需要先安装Java环境:
dnf search java-1.8
dnf install java-1.8.0-openjdk.x86_64
因为Jenkins本身是没有在dnf的软件仓库包中的,所以我们需要连接Jenkins仓库:
wget –O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
# 导入GPG密钥以确保您的软件合法
rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
# 或者
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
编辑一下文件/etc/yum.repos.d/jenkins.repo
[jenkins]
name=Jenkins-stable
baseurl=http://pkg.jenkins.io/redhat
gpgcheck=1
安装Jenkins
dnf install jenkins # --nogpgcheck(可以不加)
启动Jenkins的服务:
systemctl start jenkins
systemctl status jenkins
systemctl enable jenkins
Jenkins默认使用8080端口提供服务,所以需要加入到安全组中:
我们后面会访问centos中的某些文件夹,默认Jenkins使用的用户是 jenkins
,可能会没有访问权限,所以我们需要修改一下它的用户:
修改文件的路径:/etc/sysconfig/jenkins
之后需要重启一下Jenkins:
systemctl restart jenkins
打开浏览器,输入:http://8.134.60.235:8080/
获取输入管理员密码:
cat /var/lib/jenkins/secrets/initialAdminPassword
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HWQ5hIJB-1652240512211)(C:/Users/86341/Desktop/%E8%AF%BE%E5%A0%82/PPT/Users/coderwhy/Library/Application%20Support/typora-user-images/image-20201203173047824.png)]
可以安装推荐的插件:
新建任务:
配置项目和保留策略:
源码管理:
构建触发器:
这里的触发器规则是这样的:
#每半小时构建一次OR每半小时检查一次远程代码分支,有更新则构建
H/30 * * * *
#每两小时构建一次OR每两小时检查一次远程代码分支,有更新则构建
H H/2 * * *
#每天凌晨两点定时构建
H 2 * * *
#每月15号执行构建
H H 15 * *
#工作日,上午9点整执行
H 9 * * 1-5
#每周1,3,5,从8:30开始,截止19:30,每4小时30分构建一次
H/30 8-20/4 * * 1,3,5
构建环境:
注意:我们需要搭建Node的环境
第一步:配置Node的环境
第二步:安装Node的插件
构建执行的任务:
npm install
安装项目的依赖;pwd
node -v
npm -v
npm install
npm run build
pwd
echo '构建成功'
ls
# 删除/root/mall_cms文件夹里所有的内容
rm -rf /root/mall_cms/*
cp -rf ./dist/* /root/mall_cms/
后续我们部署会使用nginx,所以需要先安装一下nginx:
dnf install nginx
启动nginx:
systemctl start nginx
systemctl status nginx
systemctl enable nginx
我们这里主要配置nginx的用户和默认访问目录:
配置用户:
通过Linux命令创建文件夹和文件:
mkdir /root/mall_cms
cd /root/mall_cms
touch index.html
vi index.html
配置访问目录: