Skip to content
This repository has been archived by the owner on Mar 23, 2019. It is now read-only.

Deployment artifacts proposal #850

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

chouseknecht
Copy link
Contributor

@chouseknecht chouseknecht commented Jan 9, 2018

ISSUE TYPE
  • Feature Pull Request
SUMMARY

Adds proposal to change the artifacts produced by deploy.

Rather than producing a monolithic playbook, produce a better organized solution that relies on an Ansible role and uses the new K8s modules.

Artifacts will be written to the following directory structure:

```
ansible-deployment/
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

where will the role(s) be placed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TomasTomecek

Was thinking we would continue writing artifacts into the ansible-deployment subdirectory that deploy adds to the project.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was just curious where would the generated role(s) be placed. You wrote that

Produce a portable, better organized deployment artifact that uses an Ansible role...

When I look at the proposed directory hierarchy, I'm not sure which directory will have the resulting, generated role(s).

Also, what will be the default action of the root playbook project-name.yml?

Copy link
Contributor Author

@chouseknecht chouseknecht Jan 10, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm thinking the playbook is really simple. Maybe something like the following:

- name: my-project
  hosts: all
  gather_facts: no
  roles:
    - role: my-project-role
      tags:
      - always

```
ansible-deployment/
project-name.yml
project-name/
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TomasTomecek

This was my thinking for the role. It would just be written out in it's own directory, rather than placing it under a /roles subdirectory. I should call this directory project-name-role to be more clear.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh right, makes perfect sense now; feel free to leave it as it is

Copy link
Contributor

@TomasTomecek TomasTomecek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good proposal!

@ehelms
Copy link
Contributor

ehelms commented Feb 2, 2018

This might be leaping ahead, and more of "phase 2" but potentially good for the proposal itself. I do find the various tags useful for large operations. But I also find myself wanting to more easily re-build and re-deploy a single or set of services rather than the entire stack. If the role design could somehow facilitate that, through tags or variables that would allow faster development, testing and deployment cycles.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants