首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将bitbucket存储库的用户名和密码传递给通过jenkins触发的shell脚本

如何将bitbucket存储库的用户名和密码传递给通过jenkins触发的shell脚本
EN

Unix & Linux用户
提问于 2020-02-26 21:46:01
回答 1查看 4.6K关注 0票数 2

我正在尝试创建一个Jenkins作业,通过在Jenkins中通过SSH发送文件或执行命令来触发shell脚本。以下是我的shell脚本的主要部分:

代码语言:javascript
复制
#!/bin/bash
BRANCH=$1
cd /vm/deployment
git clone https://myuser@bitbucket.org/myuser/proj.git
#updating the common property files
cd /vm/deployment/swcm-properties
git reset --hard HEAD
#git pull ${BRANCH}
git fetch && git checkout ${BRANCH}
git pull

这里的问题是,执行失败了,因为我无法传递密码和用户名,以便存储库使克隆工作。

我找到了将用户名和密码设置为全局凭据的选项,并进行了以下配置:

当我试图执行保存在服务器上的以下shell脚本时,我会得到以下错误:

代码语言:javascript
复制
#!/bin/bash
git clone https://$uname:$pass@bitbucket.org/mysuer/myrepo.git

remote: Invalid username or password
fatal: Authentication failed for 'https://:@bitbucket.org/****/myrepo.git/'

使用Jenkins传递用户名和密码并从Bitbucket存储库触发git克隆的最佳方法是什么。

EN

回答 1

Unix & Linux用户

发布于 2021-02-08 20:53:22

以下是我是如何使用Jenkins声明性的。

这里的关键是使用URLEncoder.encode

代码语言:javascript
复制
pipeline {
    environment {
        // bitbucketcredentials is stored at Jenkins Credentials Stored
        BITBUCKET_CREDENTIALS = credentials('bitbucketcredentials')
    }

    stages {
        stage('packaging git push para branch beta') {
            steps {  
                    script {
                        env.encodedPass=URLEncoder.encode(BITBUCKET_CREDENTIALS_PSW, "UTF-8")
                    }     
                    git push https://${BITBUCKET_CREDENTIALS_USR}:${encodedPass}@bitbucket.com/yourrepo.git branch
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/569925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档