Flutter:运行 flutter pub 进入 github 具有私有依赖项的操作
Flutter: Running flutter pub get in github actions with private dependencies
我正在使用通过 ssh 访问在 Github 中私人托管的插件。当 运行 flutter pub get
在 Github 操作中时,此命令失败。我遵循了一个使用部署密钥的教程并尝试了这个:
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
也尝试过:
- uses: webfactory/ssh-agent@v0.4.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Fetch flutter dependencies
run: flutter pub get
但是命令还是失败了。我做错了什么,还有其他方法可以让这个命令获取私钥吗?
您可以使用此操作来添加您的 ssh 密钥。
https://github.com/marketplace/actions/install-ssh-key
将私钥和已知主机插入存储库的秘密中。
NOTE: OPENSSH format (key begins with -----BEGIN OPENSSH PRIVATE KEY-----) may not work due to OpenSSH version on VM. Please use PEM format (begins with -----BEGIN RSA PRIVATE KEY-----) instead. In order to convert your key inline to PEM format simply use ssh-keygen -p -m PEM -f ~/.ssh/id_rsa.
您可以使用以下方法获取已知主机:
ssh-keyscan github.com
在此之后将 ssh 添加到您的工作流程中:
- uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
希望对您有所帮助
我正在使用通过 ssh 访问在 Github 中私人托管的插件。当 运行 flutter pub get
在 Github 操作中时,此命令失败。我遵循了一个使用部署密钥的教程并尝试了这个:
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
也尝试过:
- uses: webfactory/ssh-agent@v0.4.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Fetch flutter dependencies
run: flutter pub get
但是命令还是失败了。我做错了什么,还有其他方法可以让这个命令获取私钥吗?
您可以使用此操作来添加您的 ssh 密钥。
https://github.com/marketplace/actions/install-ssh-key
将私钥和已知主机插入存储库的秘密中。
NOTE: OPENSSH format (key begins with -----BEGIN OPENSSH PRIVATE KEY-----) may not work due to OpenSSH version on VM. Please use PEM format (begins with -----BEGIN RSA PRIVATE KEY-----) instead. In order to convert your key inline to PEM format simply use ssh-keygen -p -m PEM -f ~/.ssh/id_rsa.
您可以使用以下方法获取已知主机:
ssh-keyscan github.com
在此之后将 ssh 添加到您的工作流程中:
- uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH }}
name: id_rsa
known_hosts: ${{ secrets.KNOWN_HOSTS }}
希望对您有所帮助