#codefresh (2019-08)
Archive: https://archive.sweetops.com/codefresh/
2019-08-05
@Erik Osterman (Cloud Posse) Do you have an example step where you utilize Helmfile in a Codefresh pipeline?
Have someone who would like to see how this is used in a Codefresh pipelin
yes, but not maintained/current.
Example Terraform Reference Architecture that implements a Geodesic Module for an Automated Testing Organization in AWS - cloudposse/testing.cloudposse.co
There is nothing your team uses currently as part of Codefresh deploy with a helmfile in a pipeline? I thought this was something you were doing regularly for a majority of your Helm deploys.
oh that
Yes, we use this pattern: https://github.com/cloudposse/example-app/tree/master/deploy
Example application for CI/CD demonstrations of Codefresh - cloudposse/example-app
Example application for CI/CD demonstrations of Codefresh - cloudposse/example-app
but the ctl
command there is optional. we have an inline approach we use with our latest pipelines.
instead of that deploy_helmfile
, we use a step more like
deploy_helmfile:
title: Deploy with helmfile
stage: Deploy
image: "${{TOOL_DOCKER_REPO_PREFIX}}/${{AWS_ENV_NAME}}:latest"
working_directory: /conf/
environment:
- 'KUBECONFIG=${{CF_KUBECONFIG_PATH}}'
- 'REPO_ROOT=${{CF_VOLUME_PATH}}/${{CF_REPO_NAME}}'
- 'APP_HOST=${{APP_HOST_DOMAIN}}'
shell: bash
commands:
# Announce the release version
- echo "* Preparing to deploy ${RELEASE_NAME} with image ${IMAGE_NAME}:${IMAGE_TAG}"
- echo "* with flavor \"$FLAVOR\" into namespace ${RELEASE_NAMESPACE}"
- kubectl config use-context "${KUBE_CONTEXT}"
- cd $(conf-directory helmfiles) && echo Working directory is now $PWD
- direnv exec . helmfile --namespace="${RELEASE_NAMESPACE}" --environment="${FLAVOR}"
-f "${REPO_ROOT}/deploy/helmfile.yaml" sync
when:
steps:
- name: ask_for_permission
on:
- approved
2019-08-12
Seems that pending-approval
steps don’t parse variables in the title
field. I’d love to be able to customize that text for better UX on reused pipelines. Anyone done something similar? Trying to do this:
ask_for_permission:
type: pending-approval
title: Deploy release of ${{APP_NAME}}:${{IMAGE_TAG}} to ${{FLAVOR}}?
stage: Prepare
But I get the text seen in title with no substitution for the variables. Is this a feature request for the codefresh folks?
@Alex Siegman totally agree
We’ve submitted a similar feature request
I think the more that do it, the better
Go to support.codefresh.io to add your vote for this
I know @Jeremy G (Cloud Posse) requested it too
@Jeremy G (Cloud Posse) has joined the channel
Feature request sent
for codefresh, sometimes my pipeline will pull a previously built image to use as the cache and other times it will say the following:
Previous built image: r.cfcr.io/org/repo_name@sha256:hash exists on the daemon and will be us
ed as cache for the build
so im wondering if you have many devs working concurrently on the same repo (in different branches) then does that mean that it’s more likely your pipeline will need to pull the image (adds ~1.5-2min for a 2.5GB image) as opposed to already having the image existing on the daemon
yes, I think it depends on if the build hits a worker (and thus different daemon) with the image cached.
@Igor Rodionov spent a lot of time looking into this recently
when you say worker
you mean k8s worker i assume that codefresh is running on?
so behind the scenes they run Docker-in-Docker (for security reasons).
it spawns a dind on demand
i thin their SaaS product works slightly different than their enterprise product though
best thing is to go to [support.codefresh.io](http://support.codefresh.io)
and open issue
they’ll explain better than me
@dustinvb is on vacay i think
is dustin the only cf guy on sweetops?
i was under the impression each pipeline had a persistent volume that would store many docker image layers
this is just an informal community driven channel. @Dan Garfield and @francisco are here too, but may not be SME.
And @oriel for enterprises sales questions
no worries, i wasnt planning on reaching out to anyone directly but if they read this channel and have comments, im not opposed
i guess im wondering how I can maximize the image existing on the daemon so the build doesnt spend an extra 1.5~2min pulling the image first
yea, we’ve been bit by this as well. for on prem, we reduced the number of build nodes and increased the size of the nodes.
not sure what to do for the hosted version though to improve cache hits (or if its even the problem we had)
that makes sense
for on prem
2019-08-21
#office-hours starting now! https://zoom.us/j/508587304
is it possible to have a pipeline that listens on a github org? allowing it to create new projects/pipelines based on new repo creation?
woops forgot @Erik Osterman (Cloud Posse) already asked this above ^^
haha
yea, not yet.
however, using repo templates might not be a bad start
also, in the repo template, include a pipeline-spec
and a makefile
version: '1.0'
kind: pipeline
metadata:
name: ourcompany/example-app/destroy-pull-request
isPublic: false
project: etan-tolling/example-app
deprecate:
repoPipeline: true
implicitGitCloneService:
context: github
scm:
provider: github
owner:
name: ourcompany
name: example-app
spec:
triggers:
- name: ourcompany/destroy-pr
type: git
repo: ourcompany/example-app
events:
- pullrequest.closed
- pullrequest.unlabeled
pullRequestAllowForkEvents: false
commentRegex: /.*/gi
branchRegex: /.*/gi
branchRegexInput: regex
provider: github
disabled: false
options:
noCache: false
noCfCache: false
resetVolume: false
context: CF-default
contexts: []
variables: []
steps: {}
stages: []
variables: []
contexts:
- Slack
- GitHub
specTemplate:
location: git
repo: ourcompany/example-app
path: ./codefresh/destroy-pull-request.yml
context: github
that’s an example spec
codefresh create pipeline -f destroy-pull-request.yml
A Codefresh pipeline for creating pipelines
At Codefresh, we know that any CI/CD solution must be attractive to both developers and operators (SREs). One of the major advantages of Codefresh is the graphical user interface that includes dashboards for Kubernetes and Helm deployments. These graphical dashboards are very useful to developers who are just getting started with deployments and pipelines. We … Continued
^ that requires a monorepo
2019-08-22
Github services are partially degraded Aug 22, 10:14 UTC Investigating - GitHub informs: Issues, PRs, Dashboard, Projects, Notifications are partially degraded
Codefresh’s Status Page - Github services are partially degraded.
Github services are partially degraded Aug 22, 11:11 UTC Update - GitHub reports a major outage on Issues, PRs, Dashboard, Projects, Notifications servicesAug 22, 10:14 UTC Investigating - GitHub informs: Issues, PRs, Dashboard, Projects, Notifications are partially degraded
Github services are partially degraded Aug 22, 12:23 UTC Resolved - This incident has been resolved.Aug 22, 11:11 UTC Update - GitHub reports a major outage on Issues, PRs, Dashboard, Projects, Notifications servicesAug 22, 10:14 UTC Investigating - GitHub informs: Issues, PRs, Dashboard, Projects, Notifications are partially degraded
Codefresh’s Status Page - Github services are partially degraded.
2019-08-27
Bitbucket has reported an incident on their service Aug 27, 17:23 UTC Investigating - Incident details: Bitbucket commits API high response time and timeouts This incident affects: API, SSH, Git via HTTPS, Mercurial via HTTPS, and Pipelines.
More info: https://bitbucket.status.atlassian.com/incidents/d1nyzp56331y
Codefresh’s Status Page - Bitbucket has reported an incident on their service.
Atlassian Bitbucket’s Status Page - Bitbucket commits API high response time and timeouts.
2019-08-28
Bitbucket has reported an incident on their service Aug 28, 08:47 UTC Resolved - The incident has been resolved and all systems are operational.Aug 27, 17:23 UTC Investigating - Incident details: Bitbucket commits API high response time and timeouts This incident affects: API, SSH, Git via HTTPS, Mercurial via HTTPS, and Pipelines.
More info: https://bitbucket.status.atlassian.com/incidents/d1nyzp56331y
Codefresh’s Status Page - Bitbucket has reported an incident on their service.
Atlassian Bitbucket’s Status Page - Bitbucket commits API high response time and timeouts.
2019-08-29
for those using direnv in codefresh, do you have a seperate file that you rename to .envrc when the pipeline runs? How do you handle committing that to the repo for the pipeline and having a local copy
https://github.com/cloudposse/testing.cloudposse.co/blob/master/codefresh/terraform/pipeline.yml#L76
Example Terraform Reference Architecture that implements a Geodesic Module for an Automated Testing Organization in AWS - cloudposse/testing.cloudposse.co
I don’t follow your question
But this is how we did it
2019-08-31
Codefresh build clusters networking issues Aug 31, 14:39 UTC Investigating - Amazon has reported connectivity issues affecting some instances. They are currently working on investigating the issues More information can be found on https://status.aws.amazon.com/
Codefresh’s Status Page - Codefresh build clusters networking issues.
Codefresh build clusters networking issues Aug 31, 20:47 UTC Resolved - AWS Incident is no longer affecting CF.Aug 31, 14:39 UTC Investigating - Amazon has reported connectivity issues affecting some instances. They are currently working on investigating the issues More information can be found on https://status.aws.amazon.com/
Codefresh’s Status Page - Codefresh build clusters networking issues.