趁着双十一入手了一个云端服务器,为了使自己写的前端代码更方便部署,便使用了 Jenkins 进行自动化部署。
本篇文章是对这次实践的一个记录,同时也希望通过这篇文章,能帮助更多的同学快速部署自己的前端代码,提高开发效率。
CentOS 7.5
在正式实践之前,我们先来了解一下整个自动化部署的流程。
了解了整个流程之后我们就开始实践吧~
首先我们通过 ssh 连接服务器,通常第一次使用的账号都为 root 账号,我们最好再创建新的用户并赋予新用户 sudo 权限。
adduser user1 # 1.创建用户user1 passwd user1 # 2.设置user1的密码 chmode -v u+w /etc/sudoers # 3.增加sudoers文件的写权限,默认为只读权限 vi /etc/sudoers # 4.修改sudoers文件,按i进入编辑模式,找到下面对应行,进行修改,修改完成后,按esc推出编辑模式,并输入 :wq 保存退出 ----------------------------------------------------------------------------------- ## Allow root to run any commands anywhere root ALL=(ALL) ALL user1 ALL=(ALL) ALL (添加这一行) ----------------------------------------------------------------------------------- chomd -v u-w /etc/sudoers # 5.删除sudoers的读写权限 复制代码
现在我们就可以使用用户 user1 进行登录了,并且 user1 拥有了 sudo 权限。
通过以下命令进行 Java 的安装,通过 javac
命令可以验证安装是否成功。
yum -y install java-1.8.0-openjdk-devel 复制代码
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 复制代码
yum -y install jenkins 复制代码
systemctl start jenkins.service chkconfig jenkins on 复制代码通过访问
IP地址:8080
来验证启动是否成功。 cat /var/lib/jenkins/secrets/initialAdminPassword 复制代码
install suggested plugins
安装插件; 现在如果在 Jenkins 中执行 Shell 脚本,Jenkins 并不具备相应权限,需要 sudo vi /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 service jenkins restart 复制代码
因为需要从 git 仓库拉取代码,所以需要安装 git。
sudo yum install git 复制代码
因为需要对前端代码进行构建,需要用到 npm,所以需要对 node 进行安装,默认安装的node版本会比较低,可以使用 nvm 安装高版本的 node,本文不再赘述。
sudo yum install nodejs 复制代码
因为从 Gitee 进行部署需要配置对应的部署公钥,所以先生成对应公钥。
ssh-kengen -t rsa -C "user1@123.com" 复制代码
根据提示完成三次回车即可生成 ssh key, 通过 cat ~/.ssh/id_rsa.pub
即可查看服务器的公钥。
创建代码仓库,上传自己的代码。
点击仓库的 管理
,在侧边栏选择 部署公钥管理
,点击 添加公钥
,复制4.7中的服务器公钥,进行添加。
第一步:点击左侧边栏 New Item
新建项目;
ok
按钮;
第三步:在Source Code Management
中,选择
Git
,输入对应的仓库地址,并在
Branches to build
中填写需要编译的分支;
第四步:在 Build Environment
中选中 Provide Node & npm bin/ folder to PATH
;
Build
中选择
Execute shell
;
第六步: 编写 shell 脚步,我为了方便起见,只是安装了以下npm包,然后进行编译,最后将编译出来的dist文件夹移动到了 /work
中;
build
进行编译,成功之后应该可以在/work文件夹中看到我们编译出来的静态文件了。
sudo yum install nginx -y 复制代码
nginx
命令启动Nginx 此时,访问 IP 地址会显示 Nginx 的测试页面。
nginx.conf
文件 通过 sudo vi /etc/nginx/nginx.conf
进行编辑,为方便起见,主要修改了 server
。
server { listen 80 default_server; listen [::]:80 default_server; server_name _; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { root /work/dist; # 编译出的静态文件的地址 } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } 复制代码
修改完成之后,我们还需要做以下两步操作。
sudo nginx -t // 验证书写是否正确 nginx -s reload // 重启Nginx 复制代码