-
Notifications
You must be signed in to change notification settings - Fork 26
Setup release process #30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
AFAIK current setup is copied from https://github.com/src-d/landing/ \cc @rporres for next steps |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I only performed a high-level review, and saw that the changes made are only:
- removing not needed services: landingApi and slackin,
- renaming landing by code-annotation
what makes sense for code-annotation necessities.
I only spotted some inconsistencies regarding hostnames for staging, so in general LGTM
.drone.yml
Outdated
tiller_ns: kube-system | ||
wait: true | ||
when: | ||
event: [tag] No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing EOL
.drone.yml
Outdated
build_stg: | ||
image: golang:1.8-alpine3.6 | ||
environment: | ||
- REACT_APP_SERVER_URL="//code-annotation.srcd.run" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
expected url would be //code-annotation-staging.srcd.run
same pattern than for: talks-staging.srcd.run
, blog-staging.srcd.run
, and landing-staging.srcd.run
https://github.com/src-d/guide/blob/master/engineering/continuous-delivery.md
.drone.yml
Outdated
release: code-annotation | ||
prefix: STG | ||
secrets: [ STG_API_SERVER, STG_KUBERNETES_TOKEN ] | ||
values: ingress.globalStaticIpName=code-annotation-staging,ingress.hostname=code-annotation.srcd.run,image.tag=commit-${DRONE_COMMIT_SHA:0:7} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
expected ingress.hostname would be expected url would be code-annotation-staging.srcd.run
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sure if I change it, I'll change it everywhere
.drone.yml
Outdated
group: docker | ||
image: plugins/docker | ||
registry: quay.io | ||
repo: quay.io/srcd/code-annotation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change to DockerHub
.drone.yml
Outdated
|
||
# deployment to production environment | ||
|
||
build_prod: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove production
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. A couple of details to be addressed.
ingress: | ||
annotations: | ||
kubernetes.io/ingress.class: gce | ||
kubernetes.io/tls-acme: "true" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was no way for you to know this, but we're moving away from kube-lego to handle Let's Encrypt certificates as it has given us some grief in the past and it's no longer under development. We're using kube-cert-manager. See https://github.com/src-d/docs/tree/master/helm-charts/docs
pullPolicy: IfNotPresent | ||
registry: docker.io/srcd | ||
codeAnnotation: | ||
name: code-annotation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you planning to have multiple images for this in the future? If not, this is not necessary. It was done that way in landing as deployment is composed of multiple containers. The standard way of declaring this is using image.repository
and image.tag
, e.g. https://github.com/src-d/docs/blob/master/helm-charts/docs/values.yaml#L6-L7 and https://github.com/src-d/docs/blob/master/helm-charts/docs/templates/deployment.yaml#L20
Addressed. PR waits for published docker image and cluster with ingress. |
@rporres I just updated PR. There are secrets are required now. And you can take image here: |
We have a problem with those secrets due to ipedrazas/drone-helm#52. The only workaround is for the chart to be able to accept a secret already deployed in the cluster. If you want to keep your chart flexible enough (which I think it is good) I would modify the chart to:
The above solution would only work if the existing secret structure is the same as the secret already present in the cluster, so that would also need be documented. I'm sorry that you've hit that nasty drone-helm bug |
Now that I'm back to work I will take a look into this |
ingress metadata is missing the line
|
https://code-annotation-staging.srcd.run/ and https://code-annotation-staging.srcd.run/ work with the ingress fix above. Since we cannot force redirections in GCE ingress, it would be nice that the application did it |
I still have to configure drone, so please do not merge it |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Drone set up. Feel free to merge it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉 nice!
Looks great to me.
Fixes: #8
TODO (need infra):