mirror of https://github.com/dexidp/dex.git
7 changed files with 157 additions and 14 deletions
@ -1,11 +1,11 @@
|
||||
FROM alpine:latest |
||||
FROM alpine:3.4 |
||||
|
||||
MAINTAINER Eric Chiang <eric.chiang@coreos.com> |
||||
|
||||
RUN apk add --update ca-certificates |
||||
|
||||
COPY bin/dex /dex |
||||
COPY _output/bin/dex /usr/local/bin/dex |
||||
|
||||
ENTRYPOINT ["/dex"] |
||||
ENTRYPOINT ["/usr/local/bin/dex"] |
||||
|
||||
CMD ["version"] |
||||
|
||||
@ -0,0 +1,80 @@
|
||||
# Releases |
||||
|
||||
Making a dex release involves: |
||||
|
||||
* Tagging a git commit and pushing the tag to GitHub. |
||||
* Building and pushing a Docker image. |
||||
* Building, signing, and hosting an ACI. |
||||
|
||||
This requires the following tools. |
||||
|
||||
* rkt |
||||
* Docker |
||||
* [docker2aci](https://github.com/appc/docker2aci) |
||||
* [acbuild](https://github.com/containers/build) (must be in your sudo user's PATH) |
||||
|
||||
And the following permissions. |
||||
|
||||
* Push access to the github.com/coreos/dex git repo. |
||||
* Push access to the quay.io/coreos/dex Docker repo. |
||||
* Access to the CoreOS application signing key. |
||||
|
||||
## Tagging the release |
||||
|
||||
Make sure you've [uploaded your GPG key](https://github.com/settings/keys) and |
||||
configured git to [use that signing key]( |
||||
https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work) either globally or |
||||
for the Dex repo. Note that the email the key is issued for must be the email |
||||
you use for git. |
||||
|
||||
``` |
||||
git config [--global] user.signingkey "{{ GPG key ID }}" |
||||
git config [--global] user.email "{{ Email associated with key }}" |
||||
``` |
||||
|
||||
Create a signed tag at the commit you wish to release. This action will prompt |
||||
you to enter a tag message, which can just be the release version. |
||||
|
||||
``` |
||||
git tag -s v2.1.0-alpha ea4c04fde83bd6c48f4d43862c406deb4ea9dba2 |
||||
``` |
||||
|
||||
Push that tag to the CoreOS repo. |
||||
|
||||
``` |
||||
git push git@github.com:coreos/dex.git v2.1.0-alpha |
||||
``` |
||||
|
||||
Draft releases on GitHub and summarize the changes since the last release. See |
||||
previous releases for the expected format. |
||||
|
||||
https://github.com/coreos/dex/releases |
||||
|
||||
## Building the Docker image |
||||
|
||||
Build the Docker image and push to Quay. |
||||
|
||||
```bash |
||||
# checkout the tag |
||||
git checkout tags/v2.1.0-alpha |
||||
# rkt doesn't play nice with SELinux, see https://github.com/coreos/rkt/issues/1727 |
||||
sudo setenforce Permissive |
||||
# will prompt for sudo password |
||||
make docker-image |
||||
sudo docker push quay.io/coreos/dex:v2.1.0-alpha |
||||
``` |
||||
|
||||
## Building the ACI |
||||
|
||||
```bash |
||||
# checkout the tag |
||||
git checkout tags/v2.1.0-alpha |
||||
# rkt doesn't play nice with SELinux, see https://github.com/coreos/rkt/issues/1727 |
||||
sudo setenforce Permissive |
||||
# will prompt for sudo password |
||||
make aci |
||||
# aci will be built at _output/image/dex.aci |
||||
``` |
||||
|
||||
Sign the ACI using the CoreOS application signing key. Upload the ACI and |
||||
signature to the GitHub release. |
||||
@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash |
||||
|
||||
set -e |
||||
|
||||
if [ "$EUID" -ne 0 ]; then |
||||
echo "This script uses functionality which requires root privileges" |
||||
exit 1 |
||||
fi |
||||
|
||||
# Start the build with an empty ACI |
||||
acbuild --debug begin $1 |
||||
|
||||
# In the event of the script exiting, end the build |
||||
trap "{ export EXT=$?; sudo acbuild --debug end && exit $EXT; }" EXIT |
||||
|
||||
# Name the ACI |
||||
acbuild --debug set-name coreos.com/dex |
||||
|
||||
# Add a version label |
||||
acbuild --debug label add version $( ./scripts/git-version ) |
||||
|
||||
acbuild --debug run -- apk add --update ca-certificates |
||||
|
||||
acbuild --debug copy _output/bin/dex /usr/local/bin/dex |
||||
|
||||
acbuild --debug port add www tcp 5556 |
||||
acbuild --debug port add grcp tpc 5557 |
||||
|
||||
acbuild --debug set-exec -- /usr/local/bin/dex |
||||
acbuild --debug write --overwrite _output/images/dex.aci |
||||
@ -0,0 +1,13 @@
|
||||
#!/bin/bash |
||||
|
||||
mkdir -p _output/bin |
||||
|
||||
sudo rkt run \ |
||||
--volume dex,kind=host,source=$PWD \ |
||||
--mount volume=dex,target=/go/src/github.com/coreos/dex \ |
||||
--dns=8.8.8.8 \ |
||||
--net=host \ |
||||
--insecure-options=image \ |
||||
docker://golang:1.7.1-alpine \ |
||||
--exec=/bin/sh -- -x -c \ |
||||
'apk add --no-cache --update alpine-sdk && go install -v github.com/coreos/dex/cmd/dex && cp /go/bin/dex /go/src/github.com/coreos/dex/_output/bin' |
||||
Loading…
Reference in new issue