首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Github操作获取存储库的SSH链接

Github操作获取存储库的SSH链接
EN

Stack Overflow用户
提问于 2020-12-26 23:48:14
回答 1查看 918关注 0票数 1

我使用github操作部署到服务器。现在,我编写了一个小型bash脚本,以检查目录是否存在,如果存在,请git pull其他明智的git clone

所有内容都是通用的,但我不知道如何从环境变量中获取存储库的ssh链接:

代码语言:javascript
复制
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master

    - name: Create project dir
      uses: appleboy/ssh-action@master
      with:
        HOST: ${{ secrets.HOST }}
        USERNAME: ${{ secrets.USERNAME }}
        KEY: ${{ secrets.KEY }}
        PORT: ${{ secrets.PORT }}
        script: |
          mkdir -p ~/projects
          cd ~/projects
          if [ -d "${{ github.event.repository.name }}" ]; then
            echo "Directory already exists"
            cd ${{ github.event.repository.name }}
            git pull --rebase
          else
            git clone git@github.com:orgname/projectname.git
          fi
          echo 'Deployment to server succesful!'

因此,我们可以看到,git clone git@github.com:orgname/projectname.git仍然是硬编码的。我怎么能像github.event.repository.name一样得到这部分的一般信息

编辑VonC:

GitHub操作的输出:

代码语言:javascript
复制
  pwd
  ls -alrth
  git version
  echo "GURL=$(git remote get-url origin)">>$GITHUB_ENV
  shell: /bin/bash -e {0}
/home/runner/work/digitalocean-test-deploy/digitalocean-test-deploy
total 60K
drwxr-xr-x  3 runner docker 4.0K Dec 27 13:12 ..
drwxr-xr-x  2 runner docker 4.0K Dec 27 13:12 tests
drwxr-xr-x  2 runner docker 4.0K Dec 27 13:12 src
-rw-r--r--  1 runner docker 1.1K Dec 27 13:12 setup.py
drwxr-xr-x  2 runner docker 4.0K Dec 27 13:12 settings
-rw-r--r--  1 runner docker   26 Dec 27 13:12 requirements.txt
drwxr-xr-x  2 runner docker 4.0K Dec 27 13:12 notebooks
drwxr-xr-x  2 runner docker 4.0K Dec 27 13:12 docs
drwxr-xr-x  2 runner docker 4.0K Dec 27 13:12 data
-rw-r--r--  1 runner docker  516 Dec 27 13:12 README.md
-rw-r--r--  1 runner docker 1.1K Dec 27 13:12 LICENSE
-rw-r--r--  1 runner docker 1.8K Dec 27 13:12 .gitignore
drwxr-xr-x  3 runner docker 4.0K Dec 27 13:12 .github
drwxr-xr-x 10 runner docker 4.0K Dec 27 13:12 .
drwxr-xr-x  8 runner docker 4.0K Dec 27 13:12 .git
git version 2.29.2
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-27 00:13:55

考虑到签出的工作树中的签出操作允许运行命令。,您可以使用环境变量,因为自2020年10月以来,不受欢迎

代码语言:javascript
复制
on: push
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: |
          echo "GURL=$(git remote get-url origin)">>$GITHUB_ENV
      - name: Create project dir
          git clone $GURL

不过,如所讨论似乎无法在使用ssh-action的步骤中工作,因此使用了第99期 (Q4 2020)。

Q1 2021:这是用评论解决的

最好的方法是自己构建克隆URL,如下所示(未经测试):

代码语言:javascript
复制
uses: appleboy/ssh-action@master
env:
  REPO: ${{ github.repository }} # e.g. "appleboy/ssh-action"
  TOKEN: ${{ github.token }}
with:
  envs: REPO,TOKEN
  script: |
    git clone https://$TOKEN@github.com/$REPO.git

也请参阅荷兰永利中的“荷兰永利”。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65461758

复制
相关文章

相似问题

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