Git 使用用户名和密码检出 jenkins 管道中的外部项目

Git checking out external project in jenkins pipeline using user and password

阅读从jenkins pipeline检出外部项目的方法如下:

git branch: 'master',
    credentialsId: '12345-1234-4696-af25-123455',
    url: 'ssh://git@bitbucket.org:company/repo.git'

post的作者还说:

If you're using the ssh url then your credentials must be username + private key. If you're using the https clone url instead of the ssh one, then your credentials should be username + password.

但是,不完全清楚第二种情况是如何工作的(https URL 和用户名 + 密码)...在这种情况下 creadentialsId 使用哪种语法?或者该字段未使用而其他字段用于指定用户名和密码?有人可以提供一个例子吗?

谢谢!

通过以下方式在 Jenkins 上存储用户名和密码:

https://www.jenkins.io/doc/book/using/using-credentials/

Adding new global credentials To add new global credentials to your Jenkins instance:

If required, ensure you are logged in to Jenkins (as a user with the Credentials > Create permission). From the Jenkins home page (i.e. the Dashboard of the Jenkins classic UI), click Manage Jenkins > Manage Credentials. image

Under Stores scoped to Jenkins on the right, click on Jenkins. image

Under System, click the Global credentials (unrestricted) link to access this default domain. image

Click Add Credentials on the left. Note: If there are no credentials in this default domain, you could also click the add some credentials link (which is the same as clicking the Add Credentials link). From the Kind field, choose the type of credentials to add. From the Scope field, choose either: Global - if the credential/s to be added is/are for a Pipeline project/item. Choosing this option applies the scope of the credential/s to the Pipeline project/item "object" and all its descendent objects. System - if the credential/s to be added is/are for the Jenkins instance itself to interact with system administration functions, such as email authentication, agent connection, etc. Choosing this option applies the scope of the credential/s to a single object only. Add the credentials themselves into the appropriate fields for your chosen credential type: Secret text - copy the secret text and paste it into the Secret field. Username and password - specify the credential’s Username and Password in their respective fields. Secret file - click the Choose file button next to the File field to select the secret file to upload to Jenkins. SSH Username with private key - specify the credentials Username, Private Key and optional Passphrase into their respective fields. Note: Choosing Enter directly allows you to copy the private key’s text and paste it into the resulting Key text box. Certificate - specify the Certificate and optional Password. Choosing Upload PKCS#12 certificate allows you to upload the certificate as a file via the resulting Upload certificate button. Docker Host Certificate Authentication - copy and paste the appropriate details into the Client Key, Client Certificate and Server CA Certificate fields. In the ID field, specify a meaningful credential ID value - for example, jenkins-user-for-xyz-artifact-repository. The inbuilt (default) credentials provider can use upper- or lower-case letters for the credential ID, as well as any valid separator character, other credential providers may apply further restrictions on allowed characters or lengths. However, for the benefit of all users on your Jenkins instance, it is best to use a single and consistent convention for specifying credential IDs. Note: This field is optional. If you do not specify its value, Jenkins assigns a globally unique ID (GUID) value for the credential ID. Bear in mind that once a credential ID is set, it can no longer be changed. Specify an optional Description for the credential/s. Click OK to save the credentials

然后,使用上面代码中 credentialsId 字段中的 ID。