小编Xer*_*iel的帖子

Jenkins管道 - 尝试捕获特定阶段和随后的条件步骤

我试图在前一阶段使用try/catch复制Jenkins管道中的条件阶段的等价物,然后设置成功变量,用于触发条件阶段.

看来try catch块是要走的路,将成功变量设置为SUCCESS或FAILED,稍后将其用作when语句的一部分(作为条件阶段的一部分).

我使用的代码如下:

pipeline {
    agent any
    stages {
        try{
            stage("Run unit tests"){
                steps{
                    sh  '''
                        # Run unit tests without capturing stdout or logs, generates cobetura reports
                        cd ./python
                        nosetests3 --with-xcoverage --nocapture --with-xunit --nologcapture --cover-package=application
                        cd ..
                    '''
                    currentBuild.result = 'SUCCESS'
                }
            }
        } catch(Exception e) {
            // Do something with the exception 
            currentBuild.result = 'SUCCESS'
        }

        stage ('Speak') {
            when {
                expression { currentBuild.result == 'SUCCESS' }
            }
            steps{
                echo "Hello, CONDITIONAL"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到的最新语法错误如下: …

jenkins jenkins-pipeline

21
推荐指数
1
解决办法
4万
查看次数

Kubernetes服务集群IP,如何在不同节点之间内部负载平衡

我创建了一个部署,导致2个节点中存在4个pod.

然后,我通过服务公开这些pod,从而产生以下群集IP和pod端点:

Name:                     s-flask
......
IP:                       10.110.201.8
Port:                     <unset>  9080/TCP
TargetPort:               5000/TCP
NodePort:                 <unset>  30817/TCP
Endpoints:                
192.168.251.131:5000,192.168.251.132:5000,192.168.251.134:5000 + 1 more...
Run Code Online (Sandbox Code Playgroud)

如果通过群集IP在内部访问服务,请求将在两个节点和所有pod之间平衡,而不仅仅是单个节点上的pod(例如,通过nodePort访问).

我知道kubernetes使用IP表在单个节点上平衡整个豆荚请求,但我找不到解释如何kubernetes跨多个节点天平内部服务请求的任何文件(我们不使用负载平衡器或进入内部服务的负载平衡).

群集IP本身是虚拟的,我认为这种方法可行的唯一方法是,如果群集IP是循环映射到服务端点IP地址,客户端必须查找群集IP /服务并选择端点IP ?

kubernetes

18
推荐指数
1
解决办法
6216
查看次数

Kubernetes Kubeadm单节点,仪表板"格式错误的http响应"

我刚刚按照kubeadm指南设置了一个单节点Kubernetes集群.群集本身看起来很好,所有pod都正常运行:

will@kubemaster:~$ sudo kubectl get pods --all-namespaces
NAMESPACE     NAME                                        READY     STATUS    RESTARTS   AGE
kube-system   calico-etcd-w6dkj                           1/1       Running   0          16m
kube-system   calico-node-mjsnr                           2/2       Running   0          16m
kube-system   calico-policy-controller-59fc4f7888-vc6x6   1/1       Running   0          16m
kube-system   etcd-kubemaster                             1/1       Running   0          16m
kube-system   kube-apiserver-kubemaster                   1/1       Running   1          16m
kube-system   kube-controller-manager-kubemaster          1/1       Running   0          16m
kube-system   kube-dns-545bc4bfd4-mbbrl                   3/3       Running   0          16m
kube-system   kube-proxy-wkmlj                            1/1       Running   0          16m
kube-system   kube-scheduler-kubemaster                   1/1       Running   0          16m
kube-system   kubernetes-dashboard-7f9dbb8685-rxwfw       1/1       Running   0          4m
Run Code Online (Sandbox Code Playgroud)

我使用以下方法安装了仪表板:

sudo kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
Run Code Online (Sandbox Code Playgroud)

我已经尝试通过运行"sudo …

kubernetes kubeadm

4
推荐指数
1
解决办法
881
查看次数

Docker - centos 7 CMD yum 命令运行但不安装

我对 Docker 相当陌生,当我尝试通过“Dockerfile”安装包时,我注意到构建步骤通过了,但是当我连接到 docker 并加载 shell 时,实际上没有安装任何包。

配置:

FROM centos:latest
CMD yum -y install epel-release
CMD yum -y install collectd
Run Code Online (Sandbox Code Playgroud)

构建步骤:

Sending build context to Docker daemon 40.45 kB
Step 1/3 : FROM centos:latest
---> 67591570dd29
Step 2/3 : CMD yum -y install epel-release
 ---> Using cache
 ---> 4148233bce10
Step 3/3 : CMD yum -y install collectd
---> Using cache
---> 62998bf2ce0f
Run Code Online (Sandbox Code Playgroud)

当连接到 docker 时,两个包都没有安装,但我可以在 docker 中安装这些包:

[root@cassiopeia monitoringDocker]# docker exec -it 0579169abb44 bash
[root@0579169abb44 /]# yum -y install epel-release …
Run Code Online (Sandbox Code Playgroud)

centos yum docker

3
推荐指数
1
解决办法
3352
查看次数

Java文字真的不变吗?

我看到/听到人们在谈论文字作为常量,但它们真的是常量吗?

我认为final是一个常数:

 final constantNumber = 10;
Run Code Online (Sandbox Code Playgroud)

例如,在下面的文字中,我可以更改值.

int testNumber = 10;
System.out.println(testNumber);
testNumber = 20;
System.out.println(testNumber);
Run Code Online (Sandbox Code Playgroud)

java

1
推荐指数
1
解决办法
129
查看次数

标签 统计

kubernetes ×2

centos ×1

docker ×1

java ×1

jenkins ×1

jenkins-pipeline ×1

kubeadm ×1

yum ×1