小编Har*_*ran的帖子

在 Distroless Image(Java 应用程序)中添加 SSL 证书

我有一个基于Distroless的 Java 应用程序容器化(docker),我想在 JVM 的商店中添加一个 SSL 证书。

我看到一个选项,比如使用 Docker 的RUN命令使用 Javakeytool选项将 SSL 证书导入到 JVM 存储中,但是由于 Distroless 没有附带 Shell,我无法使用 RUN 命令。

是否有将 SSL 证书添加到cacerts-Java 并使用 Distroless 作为基本映像的最佳方法?

ssl-certificate docker jib

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

用于 Kubernetes 部署 (EKS) 的 Jenkins 插件

我在 AWS-EKS 中运行我的应用程序,我的 Jenkins 实例尚未容器化。为了部署我们的应用程序,我们kubectl在 Jenkins 管道中使用命令。我想知道通过 Jenkins 部署 Kubernetes 的任何最佳实践或插件。

到目前为止,我发现以下插件并不完全适用于我的用例。

https://github.com/jenkinsci/kubernetes-plugin - 运行动态 Jenkins 代理。可能不适合我的情况。

https://github.com/jenkinsci/kubernetes-cd-plugin - 该插件提供了 K8s 部署功能,但与 EKS 的交互与该插件的交互有点问题,因为 EKS 身份验证是由 aws-iam-authenticator

Jenkins 中是否有任何插件可用于处理 Kubernetes 部署?

任何指针都会有所帮助。

jenkins kubernetes amazon-eks

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

Jenkins Pipeline阶段跳过基于管道中定义的groovy变量

我试图跳过stage基于常规变量,该变量值将在另一个阶段计算。

在下面的示例中,Validate阶段是基于环境变量有条件地跳过的VALIDATION_REQUIRED,我将在构建/触发作业时传递该环境变量。---这按预期工作。

Build而即使isValidationSuccess变量设置为 ,阶段也始终运行false。我尝试更改when条件表达式,例如{ return "${isValidationSuccess}" == true ; } or{ return "${isValidationSuccess}" == 'true' ; }但没有成功。打印变量时它显示为“false”

def isValidationSuccess = true 
 pipeline {
    agent any
    stages(checkout) {
        // GIT checkout here
    }
    stage("Validate") {
        when {
            environment name: 'VALIDATION_REQUIRED', value: 'true'
        }
        steps {
            if(some_condition){
                isValidationSuccess = false;
            }
        }
    }
    stage("Build") {
        when {
            expression { return "${isValidationSuccess}"; }
        }
        steps { …
Run Code Online (Sandbox Code Playgroud)

groovy continuous-deployment jenkins jenkins-groovy jenkins-pipeline

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

Spring Cloud Function是否适合REST API?如何访问GET路径参数?

我是WebFlux和Serverless的新手。我正在尝试通过AWS API网关将REST API创建为无服务器。

该流程将是API网关-> Lambda-> DynamoDB

为了实现API流程,Spring Cloud Function是最佳选择吗?我发现aws-serverless-java-container无缝地完成了这项工作(将事件转换为http请求/响应的包装器)

我浏览了http://cloud.spring.io/spring-cloud-function/single/spring-cloud-function.html上的文档以及https://github.com/spring-cloud/上的一些示例弹簧云功能。但是,我仍然不确定是否可以使用Spring Cloud Function实现API风格。

@Bean
//How path or query params can be mapped?
public Function<Flux<String>, Flux<String>> getEmployeeDetails() {
 // business logic goes here
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码片段中,如何实现GET请求/响应模型。如果我的端点具有/ {dept} / {employee} / {name},那么Spring cloud函数如何在GET请求中接受路径参数?

任何指针都会有所帮助。

spring spring-cloud aws-lambda spring-webflux serverless

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

了解 Docker 用户/uid 创建

即使经过大量材料和 SO 答案,我仍然不清楚 docker uid/user 使用或实现。

我理解以下几点:

  1. 图像的实例称为容器。
  2. uid/gid 由底层内核维护,而不是由容器维护。
  3. 内核理解 uid/gid 编号而不是用户名/组名,名称是别名,仅供人类阅读。
  4. 所有容器都是由 docker 守护进程维护的进程,并且将在主机中作为进程可见 (ps -ef)
  5. root (id = 0) 是容器内的默认用户,这可以通过 Dockerfile 中的 USER 指令或通过在 docker run 中传递 -u 标志来更改

综上所述,当我的 Dockerfile 中有以下命令时,我假设my-user将创建一个具有递增 uid的新用户 ( )。

RUN addgroup my-group && adduser -D my-user -G my-group
Run Code Online (Sandbox Code Playgroud)
  • 如果我多次运行同一个镜像,即多个容器,会发生什么?将相同的uid分配给所有进程吗?

  • 如果我在另一个图像中添加相同的上述命令并将该图像作为容器运行会发生什么?- 我会得到新的uid还是uid和以前的一样?

  • uid与主机相关的 Container 中的增量如何发生。

任何指针都会有所帮助。

containers docker dockerfile

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

如何在API蓝图中引用枚举值(MSON)

我正在使用API BlueprintAgelo来呈现我的 API 文档。使用枚举类型时,我观察到一种奇怪的行为。响应未显示定义的枚举值,而架构显示所有枚举值(这是预期的)以及声明的值(“星期一”-参考实际值)。

数据结构部分

# Data Structures

## Days (enum[string])
+ `Monday`
+ `Tuesday`
+ `Wednesday`
+ `Thursday`

## ListEntry
- playOrder: 1 (number)
- Id: 37a21975a499494f03367 (string)
- programDay: `Tuesday` (Days)

## `sample-request-200`
- id: 58828b2941cc351348 (string)
- startDate: `2019-08-01T11:00:00.000Z` (string)
- endDate: `2019-08-05T11:55:59.000Z` (string)
- Language: `en-US` (string)
- entries: ListEntry (array[object])
Run Code Online (Sandbox Code Playgroud)

API请求文档部分

+ Request
+ Headers

        Content-Type: application/json

+ Attributes (sample-request-200)
Run Code Online (Sandbox Code Playgroud)

实际的

---- JSON Body ----  

    {
      "playOrder": 1,
      "Id": "37a21975a499494f03367",
      "programDay": …
Run Code Online (Sandbox Code Playgroud)

apiary.io apiblueprint aglio mson

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