Skip to content
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

Think about developing opera CI/CD plugin(s) #164

Open
anzoman opened this issue Jan 18, 2021 · 0 comments
Open

Think about developing opera CI/CD plugin(s) #164

anzoman opened this issue Jan 18, 2021 · 0 comments
Labels
enhancement New feature or request help wanted Extra attention is needed question Further information is requested

Comments

@anzoman
Copy link
Contributor

anzoman commented Jan 18, 2021

Description

This is just an idea for a possible feature that is currently not a priority.

Imagine that you have developed a Kubernetes microservice application that you want to deploy on the desired cloud provider (e.g. AWS, Azure, GCP, IBM etc.). You have also prepared a Docker container for each microservice and each microservices also has its own git repository. For the deployment (and undeployment) you can prepare necessary TOSCA templates and Ansible playbooks along with Kubernetes deployments, services, ingress controllers and so on. You can also package your files in a TOSCA CSAR. Now to be able to deploy the application (or microservice) you can do it in a several ways:

  • install opera locally and run opera deploy for deployment and opera undeploy for undeployment.
  • use xOpera SaaS component to upload the CSAR and deploy/undeploy the app
  • use xOpera SaaS with shell curl commands locally
  • setup CI/CD in a git repository and install opera CLI and deploy when CI is triggered
  • setup CI/CD in a git repository and use xOpera SaaS curl commands to deploy when CI is triggered
  • setup and use xOpera API locally to deploy the app

And there are more ways to do it. The thing is that some users might not want to do all this manually and would want to automate their solutions as much as possible. Nowadays CI/CD tools such as GitHub Action, Jenkins, CircleCI, Travis, GitLab CI/CD are used to automate the deployment of solutions that reside in git repositories. Now, if they are using opera, all the aforementioned options for the deployment are okay but, except the ones with installing opera in CI, they are not completely automated. One way is of course installing opera CLI within the CI/CD job or using xOpera SaaS curl commands to deploy the app. However, I believe that it would be a lot easier if opera CLI (or even xOpera SaaS) had some plugins for different CI/CD providers, so that the users can use them without needing to install anything else than just using this plugin.

So, for the future I propose that we think of the possibility to develop xOpera CLI/SaaS CI/CD plugins that could be used within the CI/CD configurations that are a part of GitHub/GitLab/Bitbucket and other git repositories in order to fully automate the solutions. This could be another step to popularize the use of xOpera and its parts. Since a lot of CI tools use Docker containers within their plugins, this issue is also connected with #135.

Steps

To be determined if we decide to develop CI plugins for a specific CI provider.

Current behaviour

xOpera can be used within CI configurations by installing to a python environment or by using xOpera SaaS curl commands.

Expected results

To be able to use xOpera as some sort of prepared CI plugin.

@anzoman anzoman added enhancement New feature or request question Further information is requested labels Jan 18, 2021
@anzoman anzoman added the help wanted Extra attention is needed label Nov 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant