Jenkins使用pipeline(静态html项目)

使用之前的静态html项目来做pipeline。

1、pipeline概念

在这里插入图片描述

2、Jenkins file

有两种语法分别为 脚本式和声明式 。 这里使用声明式语法,下面是个demo

pipeline {
    agent any
    stages {
        stage('get code') {
            steps {
                echo 'get code from scm'
            }
        }
        
        stage('package') {
            steps {
                echo 'package code'
            }
        }
        
        stage('deploy') {
            steps {
                echo 'deploy package to node1'
            }
        }
    }
}

在这里插入图片描述
General —> 丢弃旧的构建 依旧设置5天
pipeline处粘贴上面的demo代码。立即构建

有报错: (怎么感觉当时那个默认配置漏了很多东西没安装)

Started by user admin
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] End of Pipeline
groovy.lang.MissingPropertyException: No such property: any for class: groovy.lang.Binding
	at groovy.lang.Binding.getVariable(Binding.java:63)
	at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:271)
	at org.kohsuke.groovy.sandbox.impl.Checker$7.call(Checker.java:353)
	at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:357)
	at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:333)

根据 No such property: any for class: groovy.lang.Binding提示,没有安装对应插件groovy postbuild
参考:https://blog.csdn.net/dieyong/article/details/105075172
在这里插入图片描述
但好像又不是插件那边的问题。
“No such property: manager for class: groovy.lang.Binding” :是要安装插件
No such property: demotest for class: groovy.lang.Binding : 是由于demotest 这值, 没加上单/双引号
No such property:: any for class: groovy.lang.Binding: 难道是我any没写对?

=== 分割线========

此时使用pipeline script from SCM ,配置如下:
在这里插入图片描述
此时要去到gitlab的monitor项目下编写Jenkinsfile ,内容如下:
在这里插入图片描述

pipeline {
    agent any
    stages {
        stage('get code') {
            steps {
                echo 'get code from scm'
            }
        }
        
        stage('package') {
            steps {
                 sh 'sudo tar zcf /opt/web-${BUILD_ID}.tar.gz ./* --exclude=.git --exclude=./Jenkinsfile'
            }
        }
        
        stage('deploy') {
            steps {
                 sh 'echo `whoami`'
                 sh 'sudo ssh 192.168.26.136 "cd /srv/nginx && mkdir web-${BUILD_ID}"'
                 sh 'sudo scp /opt/web-${BUILD_ID}.tar.gz 192.168.26.136:/srv/nginx/web-${BUILD_ID}'
                 sh 'sudo ssh 192.168.26.136 "cd /srv/nginx/web-${BUILD_ID} && tar xf web-${BUILD_ID}.tar.gz && rm -rf web-{BUILD_ID}.tar.gz"'
                 sh 'sudo ssh 192.168.26.136 "cd /srv/nginx/ && rm -rf html && ln -s web-${BUILD_ID} /srv/nginx/html"'
            }
        }
    }
}

经过报错+调试,终于跑通,而且也证实,他是以Jenkins身份来运行的任务项目的。
在这里插入图片描述
在这里插入图片描述
136的nginx目录为:
在这里插入图片描述

END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值