我们正在尝试使用github actions,并且我们希望保留敏感数据,例如kubeconfig在 github 中,secrets
我创建了一个名为 GitHub 的机密KUBECONFIG1
重现步骤
在 GitHub 秘密中,我应该存储以下文件,并尝试使用此https://onlineyamltools.com/convert-yaml-to-json转换为 JSON
apiVersion: v1
kind: Config
clusters:
- name: brf
cluster:
certificate-authority-data: >-
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURTakNBd0t6RXBNQ2NHQTFVRUF4TWdkbWx5ZE2bUljTlRtakFWCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
server: 'https://vfg.canary.k8s.ondemand.com'
users:
- name: user1
user:
token: >-
eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuW1lc3BhY2UiOiJnYXJkZW4tZGV2e
contexts:
- name: g-root
context:
cluster: garv
user: robot
namespace: gking
current-context: gaot
Run Code Online (Sandbox Code Playgroud)
在 github actions 工作流程中,我们保留上面的文件内容及其名称KUBECONFIG1,并从中创建 k8s 秘密。
name: Example action
on: [push]
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v2
- name: install …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 github 操作中运行 docker Push,因为喜欢使用相同的图像作为不同存储库的一部分。我正在使用的代码如下:
docker build . --pull --rm --file "$GITHUB_WORKSPACE/${{ matrix.path }}/Dockerfile" --tag ${{ matrix.name }}
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
IMAGE_ID=ghcr.io/${{ github.repository }}/${{ matrix.name }}
# Strip git ref prefix from version
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')
echo IMAGE_ID=$IMAGE_ID
echo VERSION=$VERSION
docker tag ${{ matrix.name }} $IMAGE_ID:$VERSION
docker push $IMAGE_ID:$VERSION
Run Code Online (Sandbox Code Playgroud)
我收到的错误与权限有关:
denied: installation not allowed to Create organization package"
Run Code Online (Sandbox Code Playgroud)
任何建议我的权限中缺少什么。
我有一个 python 包,用于poetry依赖管理和打包。
在我的本地环境中,我正在使用tox多个 python 版本来测试包。
每次有推送或拉取请求时,如何使用 GitHub 操作来测试我的包?
我尝试过的事情:
pip和安装requirements.txt,但我正在使用诗歌)pip诗歌,不推荐使用诗歌,因为它可能会与我的应用程序依赖项发生冲突,请参阅问题)pytest(github操作的)每个矩阵中运行,这个操作似乎违背了tox的目的)我想在 gh-actions 中测试我的 python 代码。
在我的情况下,我实际应该使用什么?
最佳做法是什么?和最优化的工具
以下命令 git diff --no-index --output=restapi-diff.txtlatest-restapi.jsonrestapi.json 返回退出代码 1,没有任何进一步的详细信息。使用操作结账时。
我正在尝试将 create-react-app 部署到 firebase 托管。
我按照入门指南中的步骤操作,并为我设置了 github 操作工作流程。看起来像这样:
# This file was auto-generated by the Firebase CLI
# https://github.com/firebase/firebase-tools
name: Deploy to Firebase Hosting on merge
'on':
push:
branches:
- master
jobs:
build_and_deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: npm install && npm run build
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_xxxxx }}'
channelId: live
projectId: master
env:
FIREBASE_CLI_PREVIEWS: hostingchannels
CI: false
Run Code Online (Sandbox Code Playgroud)
然而; 当我推送新的提交时,构建失败,因为
Treating warnings as errors because process.env.CI = true.
如您所见,我尝试通过添加 来解决此问题 …
我想运行一个操作来检查我的代码是否在我推送到开发分支时编译。但由于我的操作位于 main 中,因此每当我推送到 dev 分支时它都不会运行。我试图理解文档,但它确实没有任何帮助。这是代码:
name: check-compile
on:
push:
branches:
- dev
Run Code Online (Sandbox Code Playgroud) 我在 Azure 中使用 GitHub 创建了一个静态 Web 应用程序。该应用程序和 API 运行良好,URL 类似于https://[random-name].azurestaticapps.net,来源是mainGitHub 中的分支。我的问题是我想将静态 Web 应用程序配置中的 GitHub 工作流文件的名称从 更改azure-static-web-apps-[random-name].yml为release-build.yml. 这是 GitHub 存储库目录中的文件:.github/workflows/。
回顾一下,我可以将 GitHub 中的工作流文件从 重命名azure-static-web-apps-[random-name].yml为release-build.yml,但无法在 Azure 中的静态 Web 应用程序资源中执行此操作。在Azure中哪里可以重命名该配置?我已经浏览了文档和配置,但我不知道在哪里执行此操作。
所附图片是我在 Azure 中的配置和我在 GitHub 中的配置。任何帮助表示赞赏。
有人熟悉这个问题吗?https://github.com/Azure/cli中的示例不适用于自托管 github 运行器,看起来是这样az is missing
gitaction.yml
name: auzure-deployment
on:
push:
branches: [ main ]
jobs:
myjob:
runs-on: [self-hosted, linux]
steps:
- uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
- uses: azure/CLI@v1
with:
azcliversion: 2.0.72
inlineScript: |
az account list
Run Code Online (Sandbox Code Playgroud)
错误
Runner group name: 'Default'
Machine name: '98de1add3979'
GITHUB_TOKEN Permissions
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'azure/login@v1'
Download action repository 'azure/CLI@v1'
0s
Run azure/login@v1
Error: Az CLI Login failed. Please …Run Code Online (Sandbox Code Playgroud) 我的组织使用“GitHub Enterprise Server 3.0.1”(以防产生任何影响)。
我在项目中创建了一个 .github/workflows/scala.yml 文件。Github Action 可以正常触发,但会因以下错误而终止:
“未找到与指定标签匹配的运行程序:ubuntu-latest。”
我尝试将其更改为 ubuntu-20.04,现在我得到:
“未找到与指定标签匹配的运行程序:ubuntu-20.04。”
无论我手动触发操作还是签入/推送更改到我的开发分支,都会得到相同的结果:操作会触发但因上述错误而失败(并且我收到来自 GitHub 的电子邮件,告诉我构建作业失败)。我感觉这可能是 YAML 解析问题。我确认“ubuntu-latest”字符串/行之后没有空格,也没有奇怪/不可见的字符(我在十六进制编辑器中检查过)。有任何想法吗?
这是我的 scala.yml:
name: Scala CI
on:
workflow_dispatch:
push:
branches:
- Development
pull_request:
branches:
- Development
jobs:
build-job:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Run tests
run: sbt test
Run Code Online (Sandbox Code Playgroud) 我的最终目标如下:如果在 GitHub 的某个存储库中拉取 TeX 文件(例如通过 Overleaf),我想自动覆盖我的 GitHub 页面存储库中的关联 PDF 文件(即在 username/username.txt 下)。 github.io)来更新我的 html 主页。到目前为止,我有以下 .yml 代码:
name: Build LaTeX document
on: [push]
jobs:
build_latex:
runs-on: ubuntu-latest
steps:
- name: Set up Git repository
uses: actions/checkout@v2
- name: Compile LaTeX document
uses: xu-cheng/latex-action@v2
with:
root_file: main.tex
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: PDF
path: main.pdf
- name: Download a Build Artifact
uses: actions/download-artifact@v2.0.9
with:
name: PDF
path: path/to/PDF
Run Code Online (Sandbox Code Playgroud)
它在 GitHub UI 中成功生成包含所需 pdf 文件 (main.pdf) 的 zip 文件,并将 …
github-actions ×10
github ×5
azure ×1
azure-cli ×1
diff ×1
docker ×1
docker-push ×1
firebase ×1
git ×1
git-diff ×1
github-pages ×1
go ×1
json ×1
kubernetes ×1
latex ×1
overleaf ×1
pytest ×1
python ×1
tox ×1