You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Go で書いた CLI ツールのリリースは GoReleaser と GitHub Actions で個人的には決まり を読んで、自分もどうやっているのか書いておこうと思ったので書く。 CIでテストを実行する これはまあ、素朴にやる。テスト自体はMakefileに隠蔽しておくと手元でもCIと同じテストを実行できて便利。 --- name: CI on: [push] jobs: run_test: name: Go Test runs-on: ubuntu-latest steps: - name: Set up Go 1.13 uses: actions/setup-go@v1 with: go-version: 1.13 id: go - name: Check out code into the Go module directory uses: actions/checkout@v
Go で書いた CLI ツールのリリースは GoReleaser と GitHub Actions で個人的には決まり February 4, 2020 lt;dr GoReleaser と GitHub Actions を使うと簡単にビルドしたバイナリを作ってアップロードできる。 2つの YAML を書いてリポジトリにコミットする .github/workflows/release.yml .goreleaser.yml git tag して push する バイナリがリリースされる 専用のツールをローカルにインストールする必要はない。 本題 前に、Go のコマンドラインツールを簡単にリリースする | tellme.tokyo というブログを書いた。 それよりももっと楽になったので紹介する。 基本的にこのページで紹介する方法では 2 つの YAML をリポジトリに置くだけで終わる。 ロー
zatsu_monitor でdep対応をしたのでその時のメモ depについて .travis.yml depをいれたメリット depについて depについては下記を参照 mattn.kaoriya.net .travis.yml 必要最低限だとこんな感じ language: go go: - 1.7 - tip before_install: - go get github.com/golang/dep/... install: - $GOPATH/bin/dep ensure script: - go test depのREADMEに書いてるのを.travis.ymlに書いただけです。 .travis.ymlの完全版はこちら https://github.com/sue445/zatsu_monitor/blob/c265f1b9301c056cbac5006952270812c915
この記事は Go (その3) Advent Calendar 2016 の24日目の記事です(代打). メリークリスマス! 本記事では Go 言語プロジェクトの CI で回すと便利な各種lintの紹介やカバレッジ計測の方法などなどについて紹介します. Go 言語おすすめ linter Go の lint 一覧といえば gometalinter じゃん? みたいな話もあると思うのですが,CIで回すには個別に linter を明示的に回すほうが良いかと思います. ということで 僕が普段使ってるオススメ linter の紹介です. go vet vet - The Go Programming Language おすすめ度: ★★★★★ Vet examines Go source code and reports suspicious constructs, such as Printf ca
特別目新しい話は多分ないと思うけど、まあやったので。 リポジトリ mackerel-plugin-darwin-battery という Mackerel 用のエージェント。 github.com この記事で書いたやつ。 astj.hatenablog.com go のバイナリを作るので GitHub release にアップロードできると便利そう、ということでやった。別にこれくらいなら手でビルドすればいいんだけど、仕事でもちょっと Travis 触ってることもあって試しに Travis でやってみる。 Travis CI は組み込みで GitHub Releases へのアップロード機能があるので、ひとまずはそれにお任せしてみる。 GitHub Releases Uploading - Travis CI まずテストする テストしたいだけなら.travis.ymlにlanguage: go
PFNの柏原です。Go言語製のソフトウェアのCI(Continuous Integration, 継続的インテグレーション)環境の構築方法(導入方法)について解説します。想定としてはgithub上にホストしているOSSプロジェクトのソースツリーをCIの対象とします。OSSのpublicリポジトリなため、無料で使えるサービスを利用対象とします。 紹介する各CIサービスすべてでGo言語を扱えますが、まず最初にサービスを利用する上で各サービスについて結論から述べます。その後、各CI環境(OS、Goバージョン)、設定ファイルの例を説明します。 今回はTravis CI、CircleCI、Codeship、AppVeyor の4つのサービスを紹介します。 結論から 結論から書きますと、Linux, OS X, Windowsの各種OSプラットフォームで同時にCIを動かしたいなら、Travis CI(
gobump で Go プロジェクトのバージョニングをおこなう の続き。すっかり書くのが遅くなってしまったけれど、別にもったいぶるような特別なことはないです。 ここでは、Pull Request のマージを契機に、バージョンを進めるコミットをし、push して、GitHub のリリースを進める……ということを CI でおこなうことを目標とします。 これはわりと簡単で、以下のようなスクリプトで実現できます。必要なものは gobump、ghr、jq と GitHub のパーソナルアクセストークン。通常はクロスコンパイルするのに gox も使うことになるでしょう。 set -e repo_owner=motemen repo_name=test-repository committer_email=motemen+gobump-bot@gmail.com committer_name=motem
language: go go: - tip before_install: - go get github.com/axw/gocov/gocov - go get github.com/mattn/goveralls - if ! go get code.google.com/p/go.tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi script: - $HOME/gopath/bin/goveralls -repotoken とーくん -repotoken にはCoverallsで取得できるトークンを設定する。 Tokenを暗号化してセキュアにする ここからがハマりどころだった。 -repotoken にトークン渡せば良いのだが、YAMLファイルにトークンベタ書きは良くない。 Coverallsには Note
« Re: VimでURLをドメインだけに置換するコマンドを正規表現でうったら、本当に正規表現って意味不明なフォルムと思った。 | Main | golang のリファクタリングには gofmt ではなく、gorename を使おう。 » golang には go build というビルド機能があり、C言語と golang をまぜた cgo というC言語拡張も同じコマンドでビルド出来ます。 その際、ソースコードのコメントに CFLAGS や LDFLAGS を自ら指定する事が出来るので package gtk // #include "gtk.go.h" // #cgo pkg-config: gtk+-2.0 import "C" import ( "fmt" "log" "reflect" "runtime" "strings" "unsafe" "github.com/mattn/g
CI-as-a-ServiceでGo言語プロジェクトの最新ビルドを継続的に提供する Go言語で作成したツールのリリース方法について,最近実践していることを書く. リリースは,ローカルから人手で行っている.具体的には,自分のローカル環境でクロスコンパイルし,セマンティック バージョニングによるタグをつけ,CHANGELOG.mdを丁寧に書いた上でリリースをしている.クロスコンパイルにはmitchellh/gox,リリースには自分で作成したtcnksm/ghrを使っている(ghrについては,“高速に自作パッケージをGithubにリリースするghrというツールをつくった”を参考). その一方で,開発中の最新のビルドも提供するようにしている.例えば,こんな感じで,Pre-Releaseとして提供している.Go言語での開発なので,go getしてくださいと言える.しかし,環境によってビルドが失敗する
Martini Demo from Martini on Vimeo. #117: Go, Martini and Gophercasts with Jeremy Saenz - The Changelog を聴いていて,Sinatra風のGoの軽量WebフレームワークであるMartiniというのを知った.上に貼ったデモを見るとほとんどSinatraで良い感じ.Goはしばらく触ってなかったし,最近のGo事情を知るためにMartiniを触りつついろいろ試してみた. あとCIサービスのWerckerも良さそうだなと思いつつ触ってなかったので,この機会に使ってみた. やってみたのは, [Martini]()で簡単なGo Web Applicationの作成 Ginkgoを使ってBDDテスト [Wercker]()でCI Go Heroku buildpackでHerokuにデプロイ 今回のソース
1つのJenkinsの環境で複数のプロジェクトのテストが実行されることは、ままあると思う。Jenkins上で動作するすべてのプロジェクトが同時に動作するようにJenkins環境を整えるのは難しいことがある。あるプロジェクトのためにライブラリのバージョンを更新したことで、別のプロジェクトのテストが落ちるとか。 Ruby なら Bundler やrbenvを使って環境を切り替えるとだいたい解決するけど、libhogeみたいな共有ライブラリやBundlerやrbenv自体の更新とか、どうしても共有される部分はあって、だいたい普段は問題はないが、まれに困ると言う感じだと思う。 そこで、テストごとにDockerのコンテナを立ち上げてその中でテストを実行するようにすれば、環境を独立させることができるので、環境をこわさないように丁寧に設定するみたいなことに気を使わなくてよくなるので便利。 miyagaw
2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。本件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 本件に関する詳細は、プレスリリースをご確認ください。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く