美文网首页
前端流水线的服务器部署

前端流水线的服务器部署

作者: sknfie | 来源:发表于2023-03-01 11:38 被阅读0次

概述

企业级流水线的虚拟机部署一般是采用 Publish Over SSH插件。需要安装密钥,并且把公钥拷贝到部署服务器上。

配置

1.密钥生成:
ssh-keygen
2.拷贝公钥
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.1.9
3.安装 Jenkins 插件
普通机器部署一般是采用 Publish Over SSH插件。Publish Over SSH是通过 SSH 当方式传输。
4.配置 Publish Over SSH插件连接远程机器
cat id_rsa

ssh key
ssh server

实践:自由风格

git源码
web服务器

实践:pipeline

pipeline{
    agent any
    environment { 
        PROJECT_NAME='html' 
        BUILD_NUMBER='html01'
    }

    stages{
        stage("拉取代码"){
            steps {
                checkout([$class: 'GitSCM', branches: [[name: '*/main']], extensions: [], userRemoteConfigs: [[credentialsId: 'add573ff-c885-4dbc-ad82-81736763327b', url: 'git@gitlab.mycloud.com:test/html.git']]])
            }
        }
        stage("部署代码"){
            steps {
                sshPublisher(
                    publishers: [
                        sshPublisherDesc(
                            configName: 'web01', 
                            transfers: [
                                sshTransfer(
                                    cleanRemote: false, 
                                    excludes: '', 
                                    execCommand: '''#!/bin/bash''', 
                                    execTimeout: 120000, 
                                    flatten: false, 
                                    makeEmptyDirs: false, 
                                    noDefaultExcludes: false, 
                                    patternSeparator: '[, ]+', 
                                    remoteDirectory: '/web', 
                                    remoteDirectorySDF: false, 
                                    removePrefix: '', 
                                    sourceFiles: '**/**'
                                )
                            ], 
                            usePromotionTimestamp: false, 
                            useWorkspaceInPromotion: false, 
                            verbose: false
                        )
                    ]
                )
            }
        }
    }
    post {
      always {
        emailext (
            body: """
            <!DOCTYPE html><html><head><meta charset="UTF-8"><title>${PROJECT_NAME}-第${BUILD_NUMBER}次构建日志</title></head><body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
          offset="0"><table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif"><tr>(本邮件由系统自动发出,无需回复!)<br/>各位好,以下是${PROJECT_NAME}项目构建信息<br/><td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td></tr><tr><td><br/><b><font color="#0B610B">构建信息 - ${BUILD_STATUS}</font></b><hr size="2" width="100%" align="center" /></td></tr><tr><td><ul><li>项目名称:${PROJECT_NAME}</li><li>构建编号:第${BUILD_NUMBER}次构建</li><li>构建版本:2021.1.0.0</li><li>触发原因:${CAUSE}</li><li>构建状态:${BUILD_STATUS}</li><li>构建日志:<a href="${BUILD_URL}console">${BUILD_URL}console</a></li><li>构建地址:<a href="${BUILD_URL}">${BUILD_URL}</a></li><li>工作目录:<a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li><li>项目地址:<a href="${PROJECT_URL}">${PROJECT_URL}</a></li><li><a href="http://1xx.1xx.3.xx:81xx/plateform-backend/report/interfaceReport/xxx/${BUILD_TIMESTAMP}/index.html" >查看测试报告</a></li></ul><h4><font color="#0B610B">测试结果</font></h4><hr size="2" width="100%" /><div><hr size="2" width="100%" />
    $FAILED_TESTS<br/><h4><font color="#0B610B">变更记录</font></h4><hr size="2" width="100%" />变更明细:<a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/></td></tr></table></body></html>
    """,
            mimeType: 'text/html',
            subject: '自动化构建报告:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!',
            to: 'hlyue6000@163.com'
        )
      }
    }  

}

post发邮件没跑通,需要调试一下。

相关文章

网友评论

      本文标题:前端流水线的服务器部署

      本文链接:https://www.haomeiwen.com/subject/nuirldtx.html