debianパッケージを作成するGitHubActionsを作った
この手順見るとわかるけれど、debファイル作るの簡単なんで、このActions使ってもあんまり楽にはならない
手でdebファイル作るコード書いてもそんなにコストが高くないの意
成果物
使い方
上のリポジトリのREADMEに書いてあるとおり
この例ではsamplescriptというただのシェルスクリプトを/usr/bin/配下にインストールする
package_rootで指定したパスに任意のコマンドを配置すればよい
実行可能バイナリとかを作ってこのパスに配置してactionsを実行するとdebファイルができあがる
code:ci.yml
name: build
on:
push:
tags:
- 'v*.*.*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set tag
id: vars
run: echo ::set-output name=tag::${GITHUB_REF:10}
- name: create sample script
run: |
mkdir -p .debpkg/usr/bin
mkdir -p .debpkg/usr/lib/samplescript
echo -e "echo sample" > .debpkg/usr/bin/samplescript
chmod +x .debpkg/usr/bin/samplescript
echo -e "a=1" > .debpkg/usr/lib/samplescript/samplescript.conf
- uses: jiro4989/build-deb-action@v2
with:
package: samplescript
package_root: .debpkg
maintainer: your_name
version: ${{ steps.vars.outputs.tag }} # vX.X.X
arch: 'amd64'
desc: 'this is sample package.'
使用例
リリースをpublishするとdebをリリースするようなワークフローにしている
コード
成果物はここにアップされる
ポリシー
簡単に使用できて、使い方がわかりやすいものを目指した
最初、僕もdebianパッケージを作ろうとして、既存のGitHubActionsも探したけれど、いまいち使い方が分からないものばかりだった 直感的に使えるものが全然見つからなかったと記憶している
ディレクトリ作って、その中に必要な実行可能ファイルを詰め込むだけ
配置先もここで決める
あとは作ったディレクトリを入力パラメーターに渡せば終了
リポジトリのREADMEのExampleを見れば使い方が一目瞭然なので、実行可能ファイル1つ配布するだけのdebパッケージであれば誰でも使えるのではと
preinstやpostinstとかやりたくなったら、ちょっと工夫が必要だけどね
以上