我想重用同一部分中定义的环境变量。
这不起作用
env:
HOST: example.com
URL: $HOST/foo.html
Run Code Online (Sandbox Code Playgroud)
它只会产生一个详细的“$HOST/foo.html”,而在使用时不会解析主机。
我也尝试过
env:
HOST: example.com
URL: ${{ env.HOST }}/foo.html
Run Code Online (Sandbox Code Playgroud)
这只是告诉我 无法识别的命名值:'env'
我有一个 github 管道,并将 github sercret 变量通过管道传输到文件中,但出现以下错误。
/home/runner/work/_temp/c6144b9a-c8e3-489a-ae97-795f592c57f0.sh: line 6: /config: Permission denied
echo: write error: Broken pipe
Run Code Online (Sandbox Code Playgroud)
name: pipeline
on: [ push ]
env:
KUBECONFIG_B64DATA: ${{ secrets.KUBECONFIG_B64DATA }}
deploy:
name: Deploy
# if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Setup Kubectl
run: |
sudo apt-get -y install curl
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
sudo echo $KUBECONFIG_B64DATA | base64 --decode > /config
sudo mkdir -p ~/.kube
sudo mv …Run Code Online (Sandbox Code Playgroud) 我正在 GitHub 存储库中编写 LaTeX 文档,我想使用git-latexdiffHEAD编译一个 pdf 文件,该文件显示上次成功工作流程运行的提交哈希之间的差异:
git latexdiff "$LAST_SUCCESSFUL_COMMIT_HASH" HEAD --no-view -o diff.pdf
因此,我需要一种方法来从当前工作流程运行中访问最新成功工作流程运行的提交哈希。
我在文档中没有找到任何内容,但也许有解决方法?
我正在使用在 Github 上私有托管并具有 ssh 访问权限的插件。在 Github 操作中运行时,flutter pub get此命令会失败。我按照使用部署密钥的教程进行操作,并尝试了以下操作:
jobs:
build:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- name: Setup SSH Keys and known_hosts
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
run: |
mkdir -p ~/.ssh
ssh-keyscan github.com >> ~/.ssh/known_hosts
ssh-agent -a $SSH_AUTH_SOCK > /dev/null
ssh-add - <<< "${{ secrets.SSH_PRIVATE_KEY }}"
- name: Some task that fetches dependencies
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
run: flutter pub get
Run Code Online (Sandbox Code Playgroud)
还尝试过:
- uses: webfactory/ssh-agent@v0.4.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Fetch flutter dependencies
run: flutter pub …Run Code Online (Sandbox Code Playgroud) continuous-integration github continuous-deployment flutter github-actions
我正在尝试提取删除事件中的分支名称。事实证明它不在 GITHUB_REF 对象中,因为那将是default branch.
通常我会跑
- name: Extract branch name
shell: bash
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
id: extract_branch
Run Code Online (Sandbox Code Playgroud)
但显然,对于删除事件,我需要通过以下方式提取分支${{ github.event.ref }}
- name: Extract branch name
shell: bash
run: echo "##[set-output name=branch;]$(echo ${{ github.event.ref }})" # how to drop refs/heads/?
id: extract_branch
Run Code Online (Sandbox Code Playgroud)
现在我不知道如何删除分支名称的 refs/heads 方面。
编辑:因为在删除事件的情况下,github.event.ref已经包含简单的分支名称,例如,上面的示例代码不起作用feature-1-my-branch。refs/heads/feature-1-my-branch
如果我想在不同的事件类型中对此上下文进行一些后处理,在这种情况下我将如何删除 where 返回github.event.ref?refs/heads/feature-1-my-branchrefs/heads
这是我的第一个问题。
我正在尝试集成github actions到我的 Rails 项目中。
我的 ruby.yml 是这样的:
name: Ruby
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Ruby
uses: ruby/setup-ruby@ec106b438a1ff6ff112340de34ddc62c540232e0
with:
ruby-version: 2.6.5
- name: Install dependencies
run: bundle install
- name: Run tests
run: bundle exec rake
Run Code Online (Sandbox Code Playgroud)
捆绑步骤需要很多时间,我不知道是否可以只加载 Gemfile.lock 而不是每次都运行捆绑。但运行起来没问题。
问题是测试步骤。
所以这是错误:
rails aborted!
PG::ConnectionBad: could not connect to server: No such file or directory
Is the server running locally and …Run Code Online (Sandbox Code Playgroud) 我想运行类似aws amplify start-jobGitHub Actions 中的命令。我了解 AWS CLI 已预先安装,但我不确定如何配置它。
特别是,我不确定如何为所有配置选项命名环境变量,因为一些文档只提到了区域和输出设置,但没有提及AWS_ACCESS_KEY_ID。AWS_SECRET_ACCESS_KEY
我有一个自定义 Jekyll 网站,它在本地运行良好。
我想将我构建的站点部署到我的托管环境中。通过 FTP 和 github actions 可以正常工作:https: //github.com/SamKirkland/FTP-Deploy-Action
这是 FTP 工作流程:
on: push
name: Publish Website
jobs:
FTP-Deploy-Action:
name: FTP-Deploy-Action
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.1.0
with:
fetch-depth: 2
- name: FTP-Deploy-Action
uses: SamKirkland/FTP-Deploy-Action@3.1.1
with:
ftp-server: ${{ secrets.FTP_HOST }}
ftp-username: ${{ secrets.FTP_USER }}
ftp-password: ${{ secrets.FTP_PASSWORD }}
local-dir: _site
git-ftp-args: --changed-only
Run Code Online (Sandbox Code Playgroud)
我尝试使用该_site文件夹,并且当不忽略 _site 时,每次提交都会运行操作。
所以最好的是,如果我不提交该_site页面,那么 GitHub 服务器就可以了。我发现了这个动作: https: //github.com/marketplace/actions/jekyll-actions
我的测试流程:
on: push
name: Testing the GitHub Pages building
jobs:
jekyll:
runs-on: ubuntu-16.04
steps:
- …Run Code Online (Sandbox Code Playgroud) 在 CI 系统中使用Git API(例如 GitHub Actions 或 Travis-CI),我想收集有关存储库所有分支的信息。
遗憾的是,与本地分支不同,GitHub 分支似乎是相互隔离的。
假设我有一个包含三个分支的存储库(master另外两个分支是从master):
如果我运行以下脚本:
#!/usr/bin/env bash
printf "\n$ git for-each-ref --format='%(refname)' \n"
printf "$(git for-each-ref)\n"
printf "__________________________________________\n"
printf "\n$ git branch -a\n"
printf "$(git branch -a)\n"
Run Code Online (Sandbox Code Playgroud)
我只能看到master,看不到其他两个分支:
有没有办法使用 Git API 读取所有 GitHub 分支,或者我被迫使用 GitHub API?
我希望至少能够读取从我所在的分支生成的分支(master在本例中为 )。我开始猜测 GitHub 会为自己保留这些信息,而不会以任何规范的 Git 方式公开它......
我试图在我的 Ubuntu VPS 上设置 Github actions runner,在步骤 3 中我必须设置 config.sh 文件,我得到的错误为:Must not run with Sudo并且该过程失败。我的 root 帐户受密码保护,但我不明白这里的问题是什么。但我正在寻找的是如何解决这个问题。我实际上并没有部署一个严肃的应用程序,这只是为了练习。