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

news/2024/7/12 0:28:52 标签: jenkins, windows, 前端
  1. 下载安装jdk
    https://www.oracle.com/cn/java/technologies/downloads/#jdk21-windows
    在这里插入图片描述

  2. 下载jenkins window版 双击安装
    https://www.jenkins.io/download/thank-you-downloading-windows-installer-stable/
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

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

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

  5. 下载Jenkins插件 Gitee Publish Over SSH SSH Agent
    在这里插入图片描述

  6. 配置插件-Gitee
    在这里插入图片描述
    在这里插入图片描述

  7. 在本地电脑上生成ssh秘钥
    ssh-keygen -t rsa -b 4096
    在这里插入图片描述

  8. 将公钥上传至服务器并测试连接
    ssh -p 22000 root@1.117.121.53
    echo your_public_key_string >> ~/.ssh/authorized_keys
    配置文件权限:
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    在这里插入图片描述
    在这里插入图片描述

  9. jenkins上添加刚才生成的私钥
    在这里插入图片描述
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/bf803c920a0a43178b7d85f36aecb6af.png

  10. 配置 SSH Servers
    11.
    在这里插入图片描述
    在这里插入图片描述

  11. 新建Item Pipeline 编写PipeLine脚本
    添加一个gitee username password凭据 并复制凭据ID
    在这里插入图片描述

pipeline {
    agent any
    stages {
        stage('Checkout') {
            steps {
              //复制gitee 凭据 id
                git credentialsId: 'ec383d79-875e-4499-916f-0ac6146bde4b', 
                url: 'https://gitee.com/e-react-temp.git',
                branch: 'master'
            }
        }
        stage('Build') {
            steps {
                bat 'npm install'
                bat 'npm run build'
                //复制ssh 私钥凭据 id
                 sshagent(credentials: ['8e0f86d7-3d69-47d5-b820-ec728a1279ee']) {
                   bat "ssh -p 22000 root@1.117.121.53 '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 root@1.117.121.53 'tar xzf - -C /www/wwwroot/qg-iterative-react-temp'"
                }
                }
            }
        }
    }
    post {
        always {
            echo 'Build complete.'
        }
    }
}
  1. 开始构建
    在这里插入图片描述

在这里插入图片描述

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

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

(2)删掉这个
在这里插入图片描述

还不行继续baidu、 bing.com

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

祝大家学习和工作愉快


http://www.niftyadmin.cn/n/5364355.html

相关文章

CTFshow web(php特性 105-108)

web105 <?php /* # -*- coding: utf-8 -*- # Author: Firebasky # Date: 2020-09-16 11:25:09 # Last Modified by: h1xa # Last Modified time: 2020-09-28 22:34:07 */ highlight_file(__FILE__); include(flag.php); error_reporting(0); $error你还想要flag嘛&…

Android Split APK介绍

文章目录 Split APKSplit APK 详细介绍概念Android App Bundle&#xff08;AAB&#xff09;Split APK 的优势动态分发减小安装包大小模块化和渠道分发 Split APK 的类型基于屏幕密度### 基于 CPU 架构基于语言 实现 Split APK Split APK Split APK 是 Android 中一种应用程序安…

ubuntu离线安装k8s

目录 一、前期准备 二、安装前配置 三、安装docker 四、安装cri-dockerd 五、部署k8s master节点 六、整合kubectl与cri-dockerd 七、网络等插件安装 八、常见问题及解决方法 一、前期准备 ①ubuntu系统 本地已安装ubuntu系统&#xff0c;lsb_release -a命令查看版本信…

【MySQL】DQL的总结和案例学习

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-VWRkWqFrRMi4uLRa {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

数字孪生网络攻防模拟与城市安全演练

在数字化浪潮的推动下&#xff0c;网络攻防模拟和城市安全演练成为维护社会稳定的不可或缺的环节。基于数字孪生技术我们能够在虚拟环境中进行高度真实的网络攻防模拟&#xff0c;为安全专业人员提供实战经验&#xff0c;从而提升应对网络威胁的能力。同时&#xff0c;在城市安…

vue 下载二进制文件

文章目录 概要技术细节 概要 vue 下载后端返回的二进制文件流 技术细节 import axios from "axios"; const baseUrl process.env.VUE_APP_BASE_API; //downLoadPdf("/pdf/download?pdfName" res .pdf, res); export function downLoadPdf(str, fil…

谷歌产品大更新:Bard可生成图像;文生音乐平台等5大免费功能

2月2日&#xff0c;谷歌在官网对生成式AI产品进行了大更新&#xff0c;包括类ChatGPT聊天助手Bard可以通过文本提示生成图像&#xff1b; 全新的文生音乐平台MusicFX&#xff1b;新的文生图像平台ImageFX&#xff1b;新的文本扩写平台TextFX&#xff1b;在谷歌地图中增加生成式…

13、gitlab

13、gitlab 4c8g、100g docker安装gitlab&#xff08;使用k8s的ingress暴露&#xff09; 版本&#xff1a;https://gitlab.com/gitlab-org/gitlab-foss/-/tags?sortversion_desc 官方docker仓库&#xff1a;https://hub.docker.com/r/gitlab/gitlab-ce/tags docker pull gi…