mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-03-17 20:47:50 +02:00
docs: Adding Semaphore CI to GoReleaser documentation (#860)
* include Semaphore in CI sections * Changed SemaphoreCI to Semaphore (#1) * Update ci.md * Update ci.md * Update ci.md * Corrected typos (#3) * Corrected typos (#2)
This commit is contained in:
parent
8eaca29766
commit
cafe168d23
@ -181,3 +181,88 @@ steps:
|
||||
~_ ICAgICAgIEgwYndIaGUxR1E9PQo=
|
||||
|
||||
```
|
||||
|
||||
## Semaphore
|
||||
|
||||
In [Sempahore 2.0](https://semaphoreci.com) each project starts with the
|
||||
default pipeline specified in .semaphore/semaphore.yml.
|
||||
|
||||
```yml
|
||||
# .semaphore/semaphore.yml.
|
||||
version: v1.0
|
||||
name: Build
|
||||
agent:
|
||||
machine:
|
||||
type: e1-standard-2
|
||||
os_image: ubuntu1804
|
||||
|
||||
blocks:
|
||||
- name: "Test"
|
||||
task:
|
||||
prologue:
|
||||
commands:
|
||||
# set go version
|
||||
- sem-version go 1.11
|
||||
- "export GOPATH=~/go"
|
||||
- "export PATH=/home/semaphore/go/bin:$PATH"
|
||||
- checkout
|
||||
|
||||
jobs:
|
||||
- name: "Lint"
|
||||
commands:
|
||||
- go get ./...
|
||||
- go test ./...
|
||||
|
||||
# On Semaphore 2.0 deployment and delivery is managed with promotions,
|
||||
# which may be automatic or manual and optionally depend on conditions.
|
||||
promotions:
|
||||
- name: Release
|
||||
pipeline_file: goreleaser.yml
|
||||
auto_promote_on:
|
||||
- result: passed
|
||||
branch:
|
||||
- "^refs/tags/v*"
|
||||
```
|
||||
|
||||
Pipeline file in .semaphore/goreleaser.yml:
|
||||
|
||||
```yml
|
||||
version: "v1.0"
|
||||
name: GoReleaser
|
||||
agent:
|
||||
machine:
|
||||
type: e1-standard-2
|
||||
os_image: ubuntu1804
|
||||
blocks:
|
||||
- name: "Release"
|
||||
task:
|
||||
secrets:
|
||||
- name: goreleaser
|
||||
prologue:
|
||||
commands:
|
||||
- sem-version go 1.11
|
||||
- "export GOPATH=~/go"
|
||||
- "export PATH=/home/semaphore/go/bin:$PATH"
|
||||
- checkout
|
||||
jobs:
|
||||
- name: goreleaser
|
||||
commands:
|
||||
- curl -sL https://git.io/goreleaser | bash
|
||||
```
|
||||
|
||||
The following YAML file, `createSecret.yml` creates a new secret item that is called goreleaser
|
||||
with one environment variable, named GITHUB_TOKEN:
|
||||
|
||||
```yml
|
||||
apiVersion: v1alpha
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: goreleaser
|
||||
data:
|
||||
env_vars:
|
||||
- name: GITHUB_TOKEN
|
||||
value: "4afk4388304hfhei34950dg43245"
|
||||
```
|
||||
|
||||
Check [Managing Secrets](https://docs.semaphoreci.com/article/15-secrets) for
|
||||
more detailed documentation.
|
||||
|
Loading…
x
Reference in New Issue
Block a user