【问题标题】:Creating a job with credentials in jenkins only in command lines仅在命令行中使用 jenkins 中的凭据创建作业
【发布时间】:2013-07-08 09:18:41
【问题描述】:

我只能在 Ubuntu 上使用命令行终端。 我需要使用安全凭证在 Jenkins 中创建工作。

我已经在我的机器上安装了 Jenkins,但是访问是开放的。如果我在 Jenkins 上设置了安全凭证,如何在命令行中指定这些?

【问题讨论】:

  • 你还没有在这里真正问过问题。我不确定您在 Ubuntu 上使用命令行与 Jenkins 有什么关系。不能用另一台电脑访问 Jenkins 网页吗?
  • 好的。我知道只能在 Ubuntu 中使用命令行来配置 jenkins。所以,我需要使用用户名、密码和工作进行配置。但不幸的是我还没有找到这个特定的命令。
  • 好的。我已经根据我的理解更新了你的问题。请检查并确保这是您要询问的内容。
  • 查看 Jenkins 中的 SSH 插件。凭据(通常是 SSH 密钥)在 Jenkins 设置下指定。
  • 谢谢萨加尔。听起来更好。

标签: jenkins terminal ubuntu-12.04 credentials jobs


【解决方案1】:

按照以下步骤操作:

  1. 从命令行为您要使用的用户生成一个公共 ssh-key:

     ssh-keygen
    

    当你被要求输入一些值时,只需按 Enter 键。

  2. 复制文件~/.ssh/id_rsa.pub的内容。

  3. 在浏览器中转到您的 jenkins 主屏幕并使用具有完全访问权限的用户登录,然后单击右侧的 用户,然后单击您当前登录的用户。然后点击设置(或配置??)。

  4. SSH 公钥 字段中粘贴 id_rsa.pub 文件的内容。保存更改。

仅此而已!现在您可以从命令行使用 jenkins。

从命令行

以下是我的jenkins主用户(拥有所有权限)的配置文件。注意设置<authorizedKeys>。您应该将公共 ssh 密钥粘贴到那里。我没有这样做,但如果你在配置文件中添加必要的行,它肯定会起作用。文件在/path_to_jenkins/users/user_name/config.xml

<?xml version='1.0' encoding='UTF-8'?>
<user>
 <fullName>admin</fullName>
 <description></description>
 <properties>
  <jenkins.security.ApiTokenProperty>
   <apiToken>pP08W9tzs2jlCrVCY9I2o6y2RNu3Huw85Y2f99/Uif7dia1W7piGpzsrpstln/jw</apiToken>
  </jenkins.security.ApiTokenProperty>
  <com.cloudbees.plugins.credentials.UserCredentialsProvider_-UserCredentialsProperty plugin="credentials@1.4">
   <credentials/>
  </com.cloudbees.plugins.credentials.UserCredentialsProvider_-UserCredentialsProperty>
  <hudson.tasks.Mailer_-UserProperty plugin="mailer@1.4">
   <emailAddress>admin@mail.com</emailAddress>
  </hudson.tasks.Mailer_-UserProperty>
  <hudson.model.MyViewsProperty>
   <primaryViewName></primaryViewName>
   <views>
    <hudson.model.AllView>
      <owner class="hudson.model.MyViewsProperty" reference="../../.."/>
      <name>Alle</name>
      <filterExecutors>false</filterExecutors>
      <filterQueue>false</filterQueue>
      <properties class="hudson.model.View$PropertyList"/>
    </hudson.model.AllView>
  </views>
</hudson.model.MyViewsProperty>
<hudson.security.HudsonPrivateSecurityRealm_-Details>
 <passwordHash>1DF2ykjkkkjkkQXW</passwordHash>
</hudson.security.HudsonPrivateSecurityRealm_-Details>
<org.jenkinsci.main.modules.cli.auth.ssh.UserPropertyImpl>
 
<authorizedKeys>ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4P1b/5RpibQgDZpKPD7lTQLjtyMrIQH43ns62PO72koL9zJe6qrAYcTIDNOUvSYNYyKfrgt6Z5zB8MvvENQLWezDKTWNXINhZml0PxOlc9ZaHbQX6UqyFbTS6o+ZEGs+K92Yi/XwK5hTmN5Igsw5BQYEs5cOsd5H2PoEZdhK1X0XAEBX/+p6aNy585+/scgZj0jSIvcX+pnzsCJLKmeYadlLnbrvebf9u6pu8MI9RuAY5dvPfpSL4WynWwS1QvY4z535TqPaaAlM3qXqH0pcOlxgW1iUkJqti3JnnxpBNXLmXalmq+4/d7mUrRBx+HKbh5ZpNZad9vaelAjAsNg+uw== user@machine_name</authorizedKeys>
</org.jenkinsci.main.modules.cli.auth.ssh.UserPropertyImpl>
  <hudson.search.UserSearchProperty>
   <insensitiveSearch>false</insensitiveSearch>
  </hudson.search.UserSearchProperty>
 </properties>
</user>

【讨论】:

  • 嗨@Nicolás,但按照你的回答,我需要在浏览器中输入这些信息。我不能这样做,因为我需要找到一种方法来从终端设置凭据(用户和密码)。这是我的主要问题,我的时间即将结束。还有其他方法吗?
  • 是的!在我看来,我们现在谈论的是同一个问题。你是如何生成这个“”的?
  • 我没有直接编辑文件,只是使用浏览器设置配置。考虑到密码哈希可能是一个加密值。我不知道如何从控制台管理所有 jenkins 功能。据我所知,有必要使用浏览器进行第一次配置,特别是设置用户和密码。
  • 我们找到了正确的命令,现在我们可以输入用户名和密码了。这个提示很有帮助。谢谢。
  • 我很高兴知道 :)
【解决方案2】:

我刚刚把启动提示位置改成了jar文件所在的文件夹。例如,如果您的 jar 文件的位置和名称是:

C:\Users\Tod\file.jar

你可以执行两个命令:

cd C:\Users\Tod
java -jar file.jar

【讨论】:

    猜你喜欢
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多