• 使用jenkins自动化部署


    docker已经安装完成并启动

    1.安装jenkins镜像

    1. #查询镜像
    2. docker search jenkins

    1. #下载镜像
    2. docker pull jenkins/jenkins

    1. #查看镜像
    2. docker images

     2.启动容器

    创建挂载文件夹,并且进行文件权限授予

    1. #创建文件夹
    2. mkdir -p /home/jenkins_home
    3. #权限
    4. chmod 777 /home/jenkins_home
    # docker run -d -uroot -p 8080:8080  --name jenkins -v /home/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime jenkins/jenkins
    


    -d    后台运行容器,并返回容器ID
    -uroot    使用 root 身份进入容器,推荐加上,避免容器内执行某些命令时报权限错误
    -p 8080:8080    将容器内8080端口映射至宿主机8080端口,这个是访问jenkins的端口
    --name jenkins    设置容器名称为jenkins
    -v /home/jenkins_home:/var/jenkins_home     :/var/jenkins_home目录为容器jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录
    -v /etc/localtime:/etc/localtime    让容器使用和服务器同样的时间设置
    jenkins/jenkins    镜像的名称,这里也可以写镜像ID

     docker start jenkins
    

    3.访问jenkins

     192.168.1.29:8080

    如果提示的目录下没有,使用 

    find / -name initialAdminPassword
    

    搜索密码

    进入系统 安装插件,直接点击安装推荐插件

    点击推荐安装,稍等片刻,会出现

     点击开始使用 jenkins 这个时候 jenkins就已经配置成功了。

    4.插件安装

    1、安装 Nodejs 插件

    2、配置 Nodejs

    3、系统配置

    此处还需要下载两个插件

    5.GITEA设置

    进入需要使用的工程下:

    注:
    webhook是通知Jenkins时的请求地址,用来填写到GitHub上,这样GitHub就能通过该地址通知到Jenkins;
    假设Jenkins所在服务器的地址是:192.168.1.29,端口为8080,那么webhook地址就是http://192.168.1.29:8080/github-webhook

    再次提醒,上述地址必须是外网也能访问的,否则GitHub无法访问到Jenkins。

    进入主页settings下:

     复制生成的token:

    5bdb4e8a411cea9033e0005b1a813fd1d724d912

    配置全局环境变量

    a.jdk配置

    如果获取jenkins容器中的默认jdk安装路径:

    第一步、需要登录jenkins

    docker exec -it jenkins /bin/bash

    第二步、执行命令 

    echo $JAVA_HOME
    

    第三步、获取java环境安装地址配置到全局配置的jdk部分

     

    7.添加凭据

    凭据其实就是账号密码,你访问 Github、远程服务器都需要账号密码才行,这里的凭据就是相应的账号密码。

     选择添加凭据

    添加 gitea 的账号密码

    这里的token是刚刚再gitea里生成的token 

    添加服务器的登录账号和密码 

     

    这些都是可以填加多个的。 

    效果如下:

    8.系统配置

    找到两个配置:

    1、SSH remote hosts

    2、SSH Servers

    3.gitea-server

    上面的密码位置填写错误 使用下面的 

     

     点击保存

    9.创建应用 

    相关要求:

    1. 本地需要 Java、Git 环境
    2. 需要有一个 Github/Gitee 账号
    3. 不管在那里安装的 Jenkins 都要确保它能够访问网络

    1、将需要部署的文件推送到远程仓库girhub上

    • 首先在 Github 上创建一个仓库
    • 然后点击 idea 中下方菜单栏 Terminal 命令行终端中输入
      1. git init
      2. git add . #这里 . 默认提交所有修改文件
      3. git commit -m "init"
      4. git branch -m main # 因为gitgub 仓库默认主分支为main ,而我们本地初始化时 主分支为 master
      5. git remote add 远程仓库地址 # 添加远程仓库
      6. git push origin main # push 上去

    a.进入准备部署的文件下/root/work/:

    通过命令git init把这个目录变成git可以管理的仓库,如下:

    这时当前目录下会多一个.git的目录,这目录是git用来跟踪管理版本的,没事千万不要改动里面的文件,否则会破坏git仓库。如下:

     b.把文件添加到版本库中。

    第一步:使用命令git add vue添加到暂存区去。如下:

    第二步:用git commit告诉git把这个文件提交到仓库。

    上传文件出现以下提示:

    在命令行中执行
    git config --global user.email "你的邮箱"
    git config --global user.name "你的名字"

    没反应 设置ssh-key:

     ssh-keygen -t rsa -C "3285077360@qq.com"
    

     直接回车即可

     git commit -m vue
    

     

    需要进入新建的库

    我已经新建了一个名为vue的库  

    复制这个网址

     git remote add origin http://git.bl029.cn/lpp/vue.git
    
     git push -u origin master
    

    输入账户名和密码:

    • 然后刷新 github 界面,就可以看到已经 push 成功了

    github上显示上传成功:

    2、首页菜单中新建任务,输入任务名称,选择风格确定即可

    项目配置

    源码管理

    构建触发器

    构建环境

    进入构建

    1. npm install -g pnpm
    2. # 查看版本信息
    3. pnpm -v
    4. # 将镜像源替换为淘宝的加速访问
    5. pnpm config set registry https://registry.npm.taobao.org
    6. # 安装项目依赖
    7. pnpm i
    8. # 项目打包
    9. pnpm run build

     进入构建后操作

    vue.sh脚本如下:

    需要备份:

    1. #!/bin/bash
    2. if [ -d /home/jenkins_home/workspace/jenkins-vue/dist ];
    3. then
    4. mv /app/nginx/html/student /app/nginx/html/student-$(date +%F)
    5. cp -r /home/jenkins_home/workspace/jenkins-vue/dist /app/nginx/html/student
    6. rm -rf /app/jenkins_home/workspace/jenkins-vue/dist
    7. /app/nginx/sbin/nginx -s reload
    8. else
    9. exit 1
    10. fi

     保存之后,点击立即构建

     

    对应写的sh脚本下的

    访问192.168.1.29:80

  • 相关阅读:
    实现一个自定义的vue脚手架
    epoll实现异步请求数据---以UDP为例
    ES全文检索支持繁简和IK分词检索
    Python爬虫之Urllib(内置库)
    Notion 类笔记软件的使用误区和反思
    ubuntu安装MySQL
    计算机视觉与模式识别实验2-2 SIFT特征提取与匹配
    TreeSet详解
    streamlit_echarts的简单理解
    mysql 安装 与 使用
  • 原文地址:https://blog.csdn.net/qq_58196606/article/details/127305554