Jenkins备忘

GIT+JENKINS 自动化备忘
1. npm create 项目后,把项目git add .  到gitea中

2.安装好Jenkins后,安装中文插件,点“新建任务” ,配置:

例子一:
pipeline {
    agent any  // 在任何可用的 Jenkins 节点上运行
    
    stages {   // 各个执行阶段
        stage('打招呼') {
            steps {
                echo 'Hello Jenkins!'
                echo '当前时间是:' + new Date()
            }
        }
        
        stage('系统信息阶段') {
            steps {
                sh 'uname -a'      // Linux/Unix 系统信息
                sh 'java -version'  // Java 版本
            }
        }
        
        stage('完成阶段') {
            steps {
                echo '流水线执行完毕!'
            }
        }
    }
}

例子二:
pipeline{
    agent any
    stages{
        stage('拉取代码'){
            steps{
                git url: 'http://118.11.121.1:3000/zhihui/suanfa.git',branch:'main'
                echo '拉取成功'
            } 
        }
        stage('查看文件'){
            steps{
                sh 'ls -la'
                sh 'find . -name "*.c" | wc -l'
            }
        }
    }
}

例子三:先安装nodejs20插件 
pipeline {
    agent any
    tools{
        nodejs 'NodeJS20'
    } 
    stages {
        stage('拉取代码') {
            steps {
                git url:'http://111.15.11.11:3000/zhihui/suanfa.git',branch:'main'
            }
        }
        stage('设置NPM镜像'){
            steps{
                sh '''
                # 清理旧的 node_modules 和 lock 文件
            rm -rf node_modules package-lock.json
            
            # 重新安装
            npm install
            
            # 如果有问题,尝试修复
            npm audit fix
                '''
            }
        }
        stage('安装依赖'){
            steps{
                sh 'npm install'
            }
        }
        stage('运行测试'){
            steps{
                sh 'npm test'
            }
        }
        stage('打包'){
            steps{
                sh 'npm run build'
                echo '打包完成'
            }
        }
    }
    post{
        success{
            echo '🎉 所有测试通过,构建成功!'
        }
        failure{
            echo '❌ 测试失败,请检查代码!'
        }
    }
}

例子四:用 gitea 触发:

pipeline {
    agent any
    tools{
        nodejs 'NodeJS20'
    }
    stages {
        stage('代码拉取') {
            steps {
                 git url: 'http://118.25.129.153:3000/zhihui/suanfa.git',
                    branch: 'main'
                echo '✅ 代码拉取成功'
            }
        }
        stage('设置NPM镜像'){
            steps{
                sh '''
                    npm config set registry https://mirrors.cloud.tencent.com/npm/
                    echo "当前 npm 镜像源:"
                    npm config get registry
                '''
            }
        }
        stage('安装依赖'){
            steps{
                sh 'npm install'
        }
        stage('执行依赖'){
            steps{
                sh 'npm run build'
            }
        }
        stage('保存成果'){
            steps{
                archiveArtifacts artifacts: 'dist/**/*', allowEmptyArchive: true
                echo '📦 构建产物已保存'
            }
        }
    }
    }
    post{
        success{
            echo '🎉 构建成功!'
        }
        failure{
            echo '❌ 构建失败,请检查代码!'
        }
    }
}

3.点“立即构建”

GITEA+JENKINES:
一、在jenkins的任务中点配置->Triggers中选:触发远程构建 ,会生成一个地址:
 JENKINS_URL/job/auto-test/build?token=TOKEN_NAME 或者 /buildWithParameters?token=TOKEN_NAME
后点用户名,菜单选 Secrity ,点添加新Token , 

拼成一个AAA地址: http://user:Token@ip:3001/job/auto-test/build?token=TOKEN_NAME

二、在GITEA仓库右上角-> 设置 -> Web钩子 里输入:AAA地址即可实现安全触发。

三、要发布到目的地,在 jenkins 里再安装插件:Publish Over SSH

  更方便的是 jenkins 服务上加挂载:

- /mydata/docker/suanfa/www:/app/www

流水线上:

 stage('部署到 Web 服务') {
            steps {
                echo '🚀 开始部署前端文件...'  
                script {
                    // 确保目标目录存在
                    sh 'mkdir -p /app/www'
                    
                    // 清空旧文件
                    sh 'rm -rf /app/www/*'
                    
                    // 复制新构建的 dist 文件到挂载目录
                    sh 'cp -r dist/* /app/www/'
                    
                    echo '✅ 前端文件部署完成!'
                    
                    // 可选:列出部署的文件以便验证
                    sh 'ls -la /app/www/ | head -10'
                } 
            }
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值