Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器

  1. 下载安装jdk
    https://www.oracle.com/cn/java/technologies/downloads/#jdk21-windows
    Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第1张图片

  2. 下载jenkins window版 双击安装
    https://www.jenkins.io/download/thank-you-downloading-windows-installer-stable/
    Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第2张图片
    Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第3张图片
    Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第4张图片

  3. 网页输入 http://localhost:8088/

  4. 输入密码、设置账号、安装推荐插件即可

  5. 下载Jenkins插件 Gitee Publish Over SSH SSH Agent
    Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第5张图片

  6. 配置插件-Gitee
    Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第6张图片
    Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第7张图片

  7. 在本地电脑上生成ssh秘钥
    ssh-keygen -t rsa -b 4096
    Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第8张图片

  8. 将公钥上传至服务器并测试连接
    ssh -p 22000 [email protected]
    echo your_public_key_string >> ~/.ssh/authorized_keys
    配置文件权限:
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第9张图片
    在这里插入图片描述

  9. jenkins上添加刚才生成的私钥
    Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第10张图片

  10. 配置 SSH Servers
    Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第11张图片
    Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第12张图片
    Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第13张图片

  11. 新建Item Pipeline 编写PipeLine脚本
    添加一个gitee username password凭据 并复制凭据ID
    Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第14张图片

pipeline {
    agent any
    stages {
        stage('Checkout') {
            steps {
              //复制gitee 凭据 id
                git credentialsId: 'a6f82459-a7ed-4c87-ac6d-9dcc2f7655f4', 
                url: 'https://gitee.com/qg-iterative-react-temp.git',
                branch: 'master'
            }
        }
        stage('Build') {
            steps {
                bat 'npm install'
                bat 'npm run build'
                //复制ssh 私钥凭据 id
                 sshagent(credentials: ['04f4cba3-03c5-4130-986b-66582641eb9a']) {
                   //先将服务器上的文件夹内容删除
                   bat "ssh -p 22000 [email protected] 'rm -rf /www/wwwroot/qg-iterative-react-temp/*'"
                   //将本地文件夹打包  上传  在服务器端解压
                   bat "tar czf - -C C:/ProgramData/Jenkins/.jenkins/workspace/qg-iterative-react-temp/dist . | ssh -p 22000 [email protected] 'tar xzf - -C /www/wwwroot/qg-iterative-react-temp'"
                }
            }
        }
    }
    post {
        always {
            echo 'Build complete.'
        }
    }
}

  1. 开始构建
    Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第15张图片

Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第16张图片

(1)不推荐的做法 关闭ssh秘钥检查
修改脚本执行代码处 -o StrictHostKeyChecking=no

ssh  -o StrictHostKeyChecking=no -p 22000 root@.117.121.53

(2)删掉这个
Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器_第17张图片

还不行继续baidu、 bing.com

使用cmd窗口 手动输入命令上传 看是否上传成功。

虽然踩了一些坑,但是中途还会遇到一些问题,比如安全组放行端口,防火墙配置等, 还需要根据特定问题查一些资料。

祝大家学习和工作愉快

你可能感兴趣的:(jenkins,windows,前端)