我发现Travis有一个加密文件的工作流程here。
我的用例稍微简单一点,我只想为Travis-CI上构建的文件生成签名。 说:
hello-0.0.1-a.bin.asc
hello-0.0.1-a.bin
pubkey.gpg
<or> hello-0.0.1-a.pub
在这种情况下,hello-0.0.1-a.bin
由Travis构建创建,并将作为版本推送到Github。
同样,签名也必须作为版本推送到Github(即在同一标签下)。
欣赏并提示提示或咒语。
答案 0 :(得分:7)
它基本上归结为几步。
gpg --export-secret-keys > all.gpg
travis
ruby gem用于encrypt-file
gpg密钥环(ex all.gpg
)all.gpg.enc
添加到您的仓库(不是未加密的all.gpg
)将此行添加到.travis.yml
文件中以解密加密的私人签名密钥
openssl aes-256-cbc -K $encrypted_0a6446eb3ae3_key -iv $encrypted_0a6446eb3ae3_key -in all.gpg.enc -out all.gpg -d
导入gpg键gpg --import all.gpg
gpg --output hello.bin.asc --sign hello.bin
$ travis encrypt-file all.gpg --add encrypting all.gpg for rkh/travis-encrypt-file-example storing result as all.gpg.enc storing secure env variables for decryption Make sure to add all.gpg.enc to the git repository. Make sure not to add all.gpg to the git repository. Commit all changes to your .travis.yml.