Skip to content

Commit

Permalink
Docker (#77)
Browse files Browse the repository at this point in the history
* add dockerfile

* [wip] add cd(image to github packages)

* modify cd

* modify readme
  • Loading branch information
ddddddO authored Jul 12, 2022
1 parent 5e7ea09 commit 2aee743
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 3 deletions.
38 changes: 37 additions & 1 deletion .github/workflows/cd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@ on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
goreleaser:
runs-on: ubuntu-latest
Expand All @@ -22,4 +27,35 @@ jobs:
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }}
HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }}

# ref: https://docs.github.com/ja/actions/publishing-packages/publishing-docker-images#github-packages%E3%81%B8%E3%81%AE%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%81%AE%E5%85%AC%E9%96%8B
build-and-push-image:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}

- name: Build and push Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
12 changes: 12 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# syntax=docker/dockerfile:1
FROM golang:1.18-alpine AS builder
WORKDIR /github.com/ddddddO/gtree
COPY go.* *.go ./
WORKDIR /github.com/ddddddO/gtree/cmd/gtree
COPY cmd/gtree/*.go ./
RUN go build -o gtree .

FROM alpine:latest
WORKDIR /app
COPY --from=builder /github.com/ddddddO/gtree/cmd/gtree/gtree ./
ENTRYPOINT ["./gtree"]
19 changes: 17 additions & 2 deletions README_CLI.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,27 @@
go version requires 1.18 or later.

```console
go install github.com/ddddddO/gtree/cmd/gtree@latest
$ go install github.com/ddddddO/gtree/cmd/gtree@latest
```

or using Homebrew.
```console
brew install ddddddO/tap/gtree
$ brew install ddddddO/tap/gtree
```

or [docker image](https://github.com/ddddddO/gtree/pkgs/container/gtree).
```console
$ docker pull ghcr.io/ddddddo/gtree:docker
$ docker run ghcr.io/ddddddo/gtree:docker template | docker run -i ghcr.io/ddddddo/gtree:docker output
gtree
├── cmd
│ └── gtree
│ └── main.go
├── testdata
│ ├── sample1.md
│ └── sample2.md
├── makefile
└── tree.go
```

**or, download binary from [here](https://github.com/ddddddO/gtree/releases).**
Expand Down

0 comments on commit 2aee743

Please sign in to comment.