小编use*_*496的帖子

jenkins/docker 与环境变量

我正在尝试在 Jenkins 中使用 docker 机器,并让该机器设置环境变量 (FOO)。我已在 jenkins 配置中使用 docker 模板成功设置了图像。意思是,这可能不是我的问题点。问题是我似乎无法使环境变量可用。如果我创建一个只是尝试执行“echo $FOO”的詹金斯项目,我得到的只是一个空行。

我的 Dockerfile 基于 ubuntu-14.04,结尾为: CMD ["/usr/sbin/sshd", "-D"]

我尝试过的事情:

  • 在 jenkins 配置页面的“docker template”部分中,我已将“FOO=1”添加到“environment”字段中。但是,当我单击“保存”时,不会保存此更改。

  • 添加到 Dockerfile 的各种方法来设置 FOO:

    • RUN echo "export FOO=1" >> /etc/profile

    • 环境福1

    • 运行 echo 导出 FOO=1 >> ~/.bashrc

  • 环境注入插件。这可行,但需要您选中每个詹金斯计划中的复选框。我希望有一个解决方案,我只需要做一次事情。

参考:

  • 詹金斯错误。您不能在 Jenkins 环境中设置 FOO 并期望将其传递到 docker 容器。

  • Docker 的建议。此页面建议(我认为)将 env 变量添加到 /etc/profile。正如我提到的,这对我来说失败了。

  • 通过 ssh 传递 env。这解释了如何修改 ssh 调用以传递环境变量,但我不知道如何在 jenkins 中访问该命令的这一部分。(请注意,可以在命令行上公开该变量。)

  • ssh 设置用户环境。这个答案似乎有点矫枉过正,我没有测试它是否有效。大概我会让 Dockerfile 添加 .ssh/environment 并且我必须启用 PermitUserEnvironment。

jenkins docker dockerfile

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

尝试在settings.xml中加密gpg密码

我有一个maven构建,试图利用maven-gpg-plugin.如果我在settings.xml中有明文密码,那么事情就可以了.如果我粘贴加密密码,我会收到"密码错误"错误.我的步骤的详细信息如下,但任何关于我做错的想法?另外,作为一个附带问题,我很惊讶多次运行的"mvn -ep"给出了不同的结果.我本以为能够解密,应该返回相同的结果.我很好奇为此做出解释.

首先,我按照sonotype的这些说明生成并分发了我的密钥对.接下来,我使用我的密码更新了〜/ .m2/settings.xml文件,如apache所述.最后,我建立了.它很棒.加密时间.

根据apache加密建议,我创建了一个(maven)主密码,将其放入settings-security.xml,加密gpg密码,并将其放入settings.xml.(我已经尝试过各种方式,包括在每个阶段使用相同的密码.)现在,当我尝试构建时,我得到错误:

gpg: no default secret key: Bad passphrase
gpg: signing failed: Bad passphrase
Run Code Online (Sandbox Code Playgroud)

如果我在settings.xml中将密码更改回明文,则事情会再次起作用.如果我将"-X"添加到我的maven构建中,我发现它正在查找settings-security.xml.(实际上,如果我删除文件,我只能看到它找不到它.)

gpg --gen-key
<choose defaults of RSA/RSA, 2048, and no expiration.  Enter in values for name and email.>
gpg --keyserver hkp://pool.sks-keyservers.net --send-keys <key>
mvn clean gpg:sign
mvn -emp <password>
<put encrypted password into ~/.m2/settings-security.xml>
mvn -ep <password>
<put encrypted password into ~/.m2/settings.xml>
mvn clean gpg:sign
Run Code Online (Sandbox Code Playgroud)

pom.xml中:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion> …
Run Code Online (Sandbox Code Playgroud)

gnupg password-encryption maven

2
推荐指数
2
解决办法
1109
查看次数

标签 统计

docker ×1

dockerfile ×1

gnupg ×1

jenkins ×1

maven ×1

password-encryption ×1