第一节:服务器ubuntu搭建jenkins部署项目

991 阅读4分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第1天,点击查看活动详情

系列介绍

接下来将记录小白怎样搭建一个完整的前后端分离项目,会有一个系列文章。
其中技术栈包括:

1.本节简要介绍

Jenkins 是一款开源 CI&CD 软件,由Java语言实现,用于自动化各种任务,包括构建、测试和部署软件。Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。类似的CI&CD工具还有gitlab-cicd、github actions等方式。
相对于gitlab-ci来说,我还是喜欢用jenkins多一点,毕竟它不需要多维护一个代码平台,如果你就是想自己管理全部内容的话,gitlab可能是一个更好的选择

2. 相关技术

  • 服务器系统是linux的ubuntu 因为centos将要停止维护了,虽然对个人用户来说影响不是很大,但还是想用一个能持续更新的操作系统。
  • 代码托管利用的github gitee也可以,不过自己习惯了github。如果大家访问不来了github可以看一下这篇文章
  • 本文中demo是一个前端项目,所以会用到node,如果你用的是python的话,服务器上记得安装python3、pip3

3. 搭建

i.服务器jenkins下载安装

    # 更新 apt / apt-get
    apt update
    # 安装java jdk
    sudo apt install openjdk-11-jdk
    sudo apt install default-jdk
    # 检查java安装成功
    java -version
    # 安装jenkins debian 
    wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
    sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
    sudo apt-get install jenkins
    # 安装一些需要的工具 例如:前端包管理
       sudo apt install node
       node -v
    # 启动jenkins
        service jenkins start

image.png

ii.jenkins系统配置

jenkins默认端口是8080,打开服务器ip:8080

根据页面显示打开对应文件得到密码串

 sudo cat /var/lib/jenkins/secrets/initialAdminPassword

image.png

接下来如果你知道自己需要什么插件就可以选择第二个,新手选第一个就好

推荐安装的插件会比较多一些,如果安装过程中出现了错误,也并不是说不能用,可能对你的项目并没有影响,你可以继续看下去,遇到了问题时可以检查一下问题出现在哪里,面向百度编程。

image.png

创建root用户

image.png

jenkins url

image.png

安装一些插件

Publish Over SSH 与linux机器交互插件
Locale 全中文界面,记得安装重启
nodejs 前端包管理器
image.png

image.png

iii 系统配置

前面安装了ssh插件,需要填写部署服务器信息 image.png

填写完成服务器信息,可以点击下方的test connect测试是否成功连接 image.png

因为需要ssh链接服务器,需要服务器私钥凭据,公钥会放在github setting中,这样就可以拉取github

    cd ~/.ssh
    vim id_rsa # 私钥
    vim id_rsa.pub # 公钥

jenkins 添加凭据
如果服务器没有生成密钥,大家可以查询一下生成方法,比较简单我就不赘述了 image.png image.png 全局工具配置 前端项目需要nodejs插件 image.png image.png github setting image.png SSH新建 image.png 将服务器公钥填入 image.png

iV 新建任务

首页新建任务,选择自由风格的项目

image.png

存储构建内容

image.png

拉取项目

github选择SSH拉取,认证方式选择刚刚添加的ubuntu密钥凭据,默认master分支拉取 image.png 购建方式可以选择轮询,五个星号代表每分钟检测是否代码更新 image.png

构建

构建步骤选择执行shell image.png

npm i # 安装依赖
npm run build # 项目打包
tar -zcvf dist.tar.gz 文件目录 文件目录 # 将所有需要压缩文件压缩到 dist中

image.png 添加构建后操作 选择SSH

image.png 之前的配置服务ubuntu,上面压缩的文件dist

cd /home/ubuntu/test # 目标目录
sudo tar -zxvf dist.tar.gz # 解压
sudo rm -f dist.tar.gz # 删除

image.png 保存配置

查看执行结果

执行

image.png 查看项目配置、运行记录 image.png 查看项目运行时输出日志 image.png

问题记录

1.出现这个报错是因为 前端vue3项目运行时服务器node版本太低,升级一下node版本 image.png 2.服务器连接失败,检查系统配置中SSH是否可以连接 image.png 3.如果构建无法开始可能是服务器公钥私钥填写错误请正确对应填写

成功

文件成功传输到服务器指定文件夹下。 image.png

接下来第二节会讲述 jenkins部署前端项目至docker中

4.课外知识

  1. apt和apt-get

  2. 公钥和私钥

  3. docker预习