autotest-docker | Autotest client test | Continuous Deployment library

 by   autotest Python Version: 0.8.8 License: Non-SPDX

kandi X-RAY | autotest-docker Summary

autotest-docker is a Python library typically used in Devops, Continuous Deployment, Docker applications. autotest-docker has no bugs, it has no vulnerabilities and it has low support. However autotest-docker build file is not available and it has a Non-SPDX License. You can download it from GitHub.
Autotest client test containing functional & integration subtests for the Docker project
    Support
      Quality
        Security
          License
            Reuse
            Support
              Quality
                Security
                  License
                    Reuse

                      kandi-support Support

                        summary
                        autotest-docker has a low active ecosystem.
                        summary
                        It has 25 star(s) with 34 fork(s). There are 31 watchers for this library.
                        summary
                        It had no major release in the last 12 months.
                        summary
                        There are 1 open issues and 216 have been closed. On average issues are closed in 1036 days. There are 1 open pull requests and 0 closed requests.
                        summary
                        It has a neutral sentiment in the developer community.
                        summary
                        The latest version of autotest-docker is 0.8.8
                        autotest-docker Support
                          Best in #Continuous Deployment
                            Average in #Continuous Deployment
                            autotest-docker Support
                              Best in #Continuous Deployment
                                Average in #Continuous Deployment

                                  kandi-Quality Quality

                                    summary
                                    autotest-docker has 0 bugs and 0 code smells.
                                    autotest-docker Quality
                                      Best in #Continuous Deployment
                                        Average in #Continuous Deployment
                                        autotest-docker Quality
                                          Best in #Continuous Deployment
                                            Average in #Continuous Deployment

                                              kandi-Security Security

                                                summary
                                                autotest-docker has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
                                                summary
                                                autotest-docker code analysis shows 0 unresolved vulnerabilities.
                                                summary
                                                There are 0 security hotspots that need review.
                                                autotest-docker Security
                                                  Best in #Continuous Deployment
                                                    Average in #Continuous Deployment
                                                    autotest-docker Security
                                                      Best in #Continuous Deployment
                                                        Average in #Continuous Deployment

                                                          kandi-License License

                                                            summary
                                                            autotest-docker has a Non-SPDX License.
                                                            summary
                                                            Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.
                                                            autotest-docker License
                                                              Best in #Continuous Deployment
                                                                Average in #Continuous Deployment
                                                                autotest-docker License
                                                                  Best in #Continuous Deployment
                                                                    Average in #Continuous Deployment

                                                                      kandi-Reuse Reuse

                                                                        summary
                                                                        autotest-docker releases are available to install and integrate.
                                                                        summary
                                                                        autotest-docker has no build file. You will be need to create the build yourself to build the component from source.
                                                                        summary
                                                                        autotest-docker saves you 8173 person hours of effort in developing the same functionality from scratch.
                                                                        summary
                                                                        It has 16805 lines of code, 1647 functions and 159 files.
                                                                        summary
                                                                        It has medium code complexity. Code complexity directly impacts maintainability of the code.
                                                                        autotest-docker Reuse
                                                                          Best in #Continuous Deployment
                                                                            Average in #Continuous Deployment
                                                                            autotest-docker Reuse
                                                                              Best in #Continuous Deployment
                                                                                Average in #Continuous Deployment
                                                                                  Top functions reviewed by kandi - BETA
                                                                                  kandi has reviewed autotest-docker and discovered the below as its top functions. This is intended to give you an instant insight into autotest-docker implemented functionality, and help decide if they suit your requirements.
                                                                                  • Return a subclass of ui .
                                                                                    • Walk through all subdirectories .
                                                                                      • Create a SDS class from rst docstring .
                                                                                        • Mock a module .
                                                                                          • Initializes the RST file .
                                                                                            • Return the first section out of the subtest doc .
                                                                                              Get all kandi verified functions for this library.
                                                                                              Get all kandi verified functions for this library.

                                                                                              autotest-docker Key Features

                                                                                              Autotest client test containing functional & integration subtests for the Docker project

                                                                                              autotest-docker Examples and Code Snippets

                                                                                              No Code Snippets are available at this moment for autotest-docker.
                                                                                              Community Discussions

                                                                                              Trending Discussions on Continuous Deployment

                                                                                              Combining Terraform wth CI/CD pipelines when provisioning is a rare event compared to usual code pushes
                                                                                              chevron right
                                                                                              argocd app create in CI pipeline (GitHub Actions, Tekton, ...) throws "PermissionDenied desc = permission denied: applications, create, default/myapp"
                                                                                              chevron right
                                                                                              Deploy GCP Cloud functions to Artifact Registry using Terraform
                                                                                              chevron right
                                                                                              CI/CD Kubernetes Deployment using Github Actions
                                                                                              chevron right
                                                                                              Jenkins "unable to resolve class Declarative" error when building Python script
                                                                                              chevron right
                                                                                              How to deploy an AWS Kinesis Data Analytics App without downtime
                                                                                              chevron right
                                                                                              ArgoCD app-of-apps create the child app but doesn't deploy the manifests inside the app
                                                                                              chevron right
                                                                                              Does implementing CI/CD require prerequisite steps?
                                                                                              chevron right
                                                                                              Build works on local but fails on codemagic | Execution failed for task ':app:stripDebugDebugSymbols'
                                                                                              chevron right
                                                                                              Why does Azure Pipelines say "The environment does not exist or has not been authorized for use"?
                                                                                              chevron right

                                                                                              QUESTION

                                                                                              Combining Terraform wth CI/CD pipelines when provisioning is a rare event compared to usual code pushes
                                                                                              Asked 2022-Feb-15 at 09:04

                                                                                              You see a lot of articles on combining GitHub actions with Terraform. It makes sense that anytime one wants to provision something different in their infrastructure that a CI/CD pipeline would add visibility and repeatability to an otherwise manual process.

                                                                                              But some article make it sound as though Terraform is doing the deploying of any change. For example, this article says "anytime there is a push to the src directory it will kick off the action which will have Terraform deploy the changes made to your website."

                                                                                              But doesn't this only make sense if the change you are making is related to provisioning infrastructure? Why would you want any code push to trigger a Terraform job if most pushes to the codecase have nothing to do with provisioning new infrastrucutre? Aren't most code pushes things like changing some CSS on the website, or adding a function to a back-end node script. These don't require provisioning new infrastructure, as the code is just placed onto existing infrastructure.

                                                                                              Or perhaps the article is suggesting the repo is dedicated only to Terraform.

                                                                                              ANSWER

                                                                                              Answered 2022-Feb-15 at 09:04

                                                                                              In my case the changes are from terraform(only) repos. Any change to infra would be triggered by these repos. In rest of the actual app code, it would always be Ansible-Jenkins. Deploying terraform infrastructure change everytime there is a push to app-code might bring down the uptime of the application. In case of containerized application it would be Helm-kubernetes doing the application bit.

                                                                                              Source https://stackoverflow.com/questions/71115103

                                                                                              QUESTION

                                                                                              argocd app create in CI pipeline (GitHub Actions, Tekton, ...) throws "PermissionDenied desc = permission denied: applications, create, default/myapp"
                                                                                              Asked 2022-Feb-10 at 15:01

                                                                                              From our Tekton pipeline we want to use ArgoCD CLI to do a argocd app create and argocd app sync dynamically based on the app that is build. We created a new user as described in the docs by adding a accounts.tekton: apiKey to the argocd-cm ConfigMap:

                                                                                              kubectl patch configmap argocd-cm -n argocd -p '{"data": {"accounts.tekton": "apiKey"}}'
                                                                                              

                                                                                              Then we created a token for the tekton user with:

                                                                                              argocd account generate-token --account tekton
                                                                                              

                                                                                              With this token as the password and the username tekton we did the argocd login like

                                                                                              argocd login $(kubectl get service argocd-server -n argocd --output=jsonpath='{.status.loadBalancer.ingress[0].hostname}') --username=tekton --password="$TOKEN";
                                                                                              

                                                                                              Now from within our Tekton pipeline (but we guess that would be the same for every other CI, given the usage of a non-admin user) we get the following error if we run argocd app create:

                                                                                              $ argocd app create microservice-api-spring-boot --repo https://gitlab.com/jonashackt/microservice-api-spring-boot-config.git --path deployment --dest-server https://kubernetes.default.svc --dest-namespace default --revision argocd --sync-policy auto
                                                                                              error rpc error: code = PermissionDenied desc = permission denied: applications, create, default/microservice-api-spring-boot, sub: tekton, iat: 2022-02-03T16:36:48Z
                                                                                              

                                                                                              ANSWER

                                                                                              Answered 2022-Feb-10 at 15:01

                                                                                              The problem is mentioned in Argo's useraccounts docs:

                                                                                              When you create local users, each of those users will need additional RBAC rules set up, otherwise they will fall back to the default policy specified by policy.default field of the argocd-rbac-cm ConfigMap.

                                                                                              But these additional RBAC rules could be setup the simplest using ArgoCD Projects. And with such a AppProject you don't even need to create a user like tekton in the ConfigMap argocd-cm. ArgoCD projects have the ability to define Project roles:

                                                                                              Projects include a feature called roles that enable automated access to a project's applications. These can be used to give a CI pipeline a restricted set of permissions. For example, a CI system may only be able to sync a single app (but not change its source or destination).

                                                                                              There are 2 solutions how to configure the AppProject, role & permissions incl. role token:

                                                                                              1. using argocd CLI
                                                                                              2. using a manifest YAML file
                                                                                              1.) Use argocd CLI to create AppProject, role & permissions incl. role token

                                                                                              So let's get our hands dirty and create a ArgoCD AppProject using the argocd CLI called apps2deploy:

                                                                                              argocd proj create apps2deploy -d https://kubernetes.default.svc,default --src "*"
                                                                                              

                                                                                              We create it with the --src "*" as a wildcard for any git repository (as described here).

                                                                                              Now we create a Project role called create-sync via:

                                                                                              argocd proj role create apps2deploy create-sync --description "project role to create and sync apps from a CI/CD pipeline"
                                                                                              

                                                                                              You can check the new role has been created with argocd proj role list apps2deploy.

                                                                                              Then we need to create a token for the new Project role create-sync, which can be created via:

                                                                                              argocd proj role create-token apps2deploy create-sync
                                                                                              

                                                                                              This token needs to be used for the argocd login command inside our Tekton / CI pipeline. There's also a --token-only parameter for the command, so we can create an environment variable via

                                                                                              ARGOCD_AUTH_TOKEN=$(argocd proj role create-token apps2deploy create-sync --token-only)
                                                                                              

                                                                                              The ARGOCD_AUTH_TOKEN will be automatically used by argo login.

                                                                                              Now we need to give permissions to the role, so it will be able to create and sync our application in ArgoCD from within Tekton or any other CI pipeline. As described in the docs we therefore add policies to our roles using the argocd CLI:

                                                                                              argocd proj role add-policy apps2deploy create-sync --action get --permission allow --object "*"
                                                                                              argocd proj role add-policy apps2deploy create-sync --action create --permission allow --object "*"
                                                                                              argocd proj role add-policy apps2deploy create-sync --action sync --permission allow --object "*"
                                                                                              argocd proj role add-policy apps2deploy create-sync --action update --permission allow --object "*"
                                                                                              argocd proj role add-policy apps2deploy create-sync --action delete --permission allow --object "*"
                                                                                              

                                                                                              Have a look on the role policies with argocd proj role get apps2deploy create-sync, which should look somehow like this:

                                                                                              $ argocd proj role get apps2deploy create-sync
                                                                                              Role Name:     create-sync
                                                                                              Description:   project role to create and sync apps from a CI/CD pipeline
                                                                                              Policies:
                                                                                              p, proj:apps2deploy:create-sync, projects, get, apps2deploy, allow
                                                                                              p, proj:apps2deploy:create-sync, applications, get, apps2deploy/*, allow
                                                                                              p, proj:apps2deploy:create-sync, applications, create, apps2deploy/*, allow
                                                                                              p, proj:apps2deploy:create-sync, applications, update, apps2deploy/*, allow
                                                                                              p, proj:apps2deploy:create-sync, applications, delete, apps2deploy/*, allow
                                                                                              p, proj:apps2deploy:create-sync, applications, sync, apps2deploy/*, allow
                                                                                              JWT Tokens:
                                                                                              ID          ISSUED-AT                                EXPIRES-AT
                                                                                              1644166189  2022-02-06T17:49:49+01:00 (2 hours ago)  
                                                                                              

                                                                                              Finally we should have setup everything to do a successful argocd app create. All we need to do is to add the --project apps2deploy parameter:

                                                                                              argocd app create microservice-api-spring-boot --repo https://gitlab.com/jonashackt/microservice-api-spring-boot-config.git --path deployment --project apps2deploy --dest-server https://kubernetes.default.svc --dest-namespace default --revision argocd --sync-policy auto
                                                                                              
                                                                                              2.) Use manifest YAML to create AppProject, role & permissions incl. role token

                                                                                              As all those CLI based steps in solution 1.) are quite many, we could also using a manifest YAML file. Here's an example argocd-appproject-apps2deploy.yml which configures exactly the same as in solution a):

                                                                                              apiVersion: argoproj.io/v1alpha1
                                                                                              kind: AppProject
                                                                                              metadata:
                                                                                                name: apps2deploy
                                                                                                namespace: argocd
                                                                                              spec:
                                                                                                destinations:
                                                                                                  - namespace: default
                                                                                                    server: https://kubernetes.default.svc
                                                                                                sourceRepos:
                                                                                                  - '*'
                                                                                                roles:
                                                                                                  - description: project role to create and sync apps from a CI/CD pipeline
                                                                                                    name: create-sync
                                                                                                    policies:
                                                                                                    - p, proj:apps2deploy:create-sync, applications, get, apps2deploy/*, allow
                                                                                                    - p, proj:apps2deploy:create-sync, applications, create, apps2deploy/*, allow
                                                                                                    - p, proj:apps2deploy:create-sync, applications, update, apps2deploy/*, allow
                                                                                                    - p, proj:apps2deploy:create-sync, applications, delete, apps2deploy/*, allow
                                                                                                    - p, proj:apps2deploy:create-sync, applications, sync, apps2deploy/*, allow
                                                                                              

                                                                                              There are only 2 steps left to be able to do a successful argocd app create from within Tekton (or other CI pipeline). We need to apply the manifest with

                                                                                              kubectl apply -f argocd-appproject-apps2deploy.yml
                                                                                              

                                                                                              And we need to need to create a role token, ideally assigning it directly to the ARGOCD_AUTH_TOKEN for the argocd login command (which also needs to be done afterwards):

                                                                                              ARGOCD_AUTH_TOKEN=$(argocd proj role create-token apps2deploy create-sync --token-only)
                                                                                              

                                                                                              The same argocd app create command as mentioned in solution 1.) should work now:

                                                                                              argocd app create microservice-api-spring-boot --repo https://gitlab.com/jonashackt/microservice-api-spring-boot-config.git --path deployment --project apps2deploy --dest-server https://kubernetes.default.svc --dest-namespace default --revision argocd --sync-policy auto
                                                                                              

                                                                                              Source https://stackoverflow.com/questions/71052421

                                                                                              QUESTION

                                                                                              Deploy GCP Cloud functions to Artifact Registry using Terraform
                                                                                              Asked 2022-Feb-07 at 21:21

                                                                                              I am trying to deploy cloud function to artifact registry instead of container registry using Terraform.

                                                                                              I have created an artifact repository in GCP and Using the google-beta provider. But I am not able to understand where to mention "docker-registry" path(path for artifact registry)

                                                                                              Following in my main tf file's create CF:- I have added a parameter called docker-repository(this doesn't exist in terraform) based on https://cloud.google.com/functions/docs/building#image_registry_options But looks like this parameter doesn't exist in terraform and is giving me errors.

                                                                                              resource "google_cloudfunctions_function" "appConfigService" {
                                                                                                provider              = google-beta
                                                                                                name                  = local.function_names.appConfigService
                                                                                                description           = "helloWorld"
                                                                                                runtime               = var.cf_node_run_time
                                                                                                available_memory_mb   = var.cf_memory
                                                                                                source_archive_bucket = local.deployment_bucket
                                                                                                source_archive_object = google_storage_bucket_object.appConfigService_archive.name
                                                                                                entry_point           = "helloWorld"
                                                                                                service_account_email = var.default_service_account[var.environment]
                                                                                                trigger_http          = true
                                                                                                docker-repository     ="" //This is wrong
                                                                                              
                                                                                              }
                                                                                              

                                                                                              I am not able to find any documentation on this anywhere. Please let me know the correct way of deploying Cloud functions to artifact repository using terraform.

                                                                                              ANSWER

                                                                                              Answered 2022-Feb-07 at 21:21

                                                                                              At this time, your will need to use Terraform plus Cloud Build to specify the repository to use. You can then use gcloud --docker-repository in a Cloud Build step.

                                                                                              This document explains how to integrate Terraform with Cloud Build.

                                                                                              Managing infrastructure as code with Terraform, Cloud Build, and GitOps

                                                                                              Source https://stackoverflow.com/questions/71017452

                                                                                              QUESTION

                                                                                              CI/CD Kubernetes Deployment using Github Actions
                                                                                              Asked 2022-Jan-05 at 18:43

                                                                                              We are thinking about migrating our infrastructure to Kubernetes. All our Source-code is in GitHub, Docker containers are in Docker Hub.

                                                                                              I would like to have a CI/CD pipeline for Kubernetes only using GitHub and Docker Hub. Is there a way?

                                                                                              If not, what tools (as few as possible) should we use?

                                                                                              ANSWER

                                                                                              Answered 2022-Jan-05 at 18:43

                                                                                              You can go it as per need using the Github Action and Docker hub only.

                                                                                              You should also checkout the keel with GitHub :https://github.com/keel-hq/keel

                                                                                              Step: 1

                                                                                              name: Stable Build
                                                                                              on:
                                                                                                push:
                                                                                                  tags:
                                                                                                    - "*.*.*"
                                                                                              ...
                                                                                                    - name: Set tag in env
                                                                                                      run: echo "TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
                                                                                              ...
                                                                                                        tags: runq/go-kube:${{ env.TAG }}, runq/go-kube:latest
                                                                                              

                                                                                              Step : 2

                                                                                              Once build is done you can push it to Docker Hub

                                                                                              Step : 3

                                                                                              Keel can auto-update the deployment, but if you don't want that you can each time apply the YAML config from Github action also.

                                                                                              Read more at : https://dev.to/achu1612/ci-cd-for-kubernetes-using-github-actions-and-keel-4b7c

                                                                                              If you are planning to use Azure you should checkout : https://github.com/marketplace/actions/deploy-to-kubernetes-cluster

                                                                                              Source https://stackoverflow.com/questions/70594453

                                                                                              QUESTION

                                                                                              Jenkins "unable to resolve class Declarative" error when building Python script
                                                                                              Asked 2021-Dec-23 at 12:01

                                                                                              I began learning to use to Jenkins and wanted to make it run a Python script of mine automatically. I followed their tutorial and created a new Project called Pipeline Test.

                                                                                              I've also added the GitHub repo of a Python script I wanted to test (https://github.com/mateasmario/spam-bot).

                                                                                              As you can see, I've created a Jenkinsfile in that repo. Because my script is called spam-bot.py, I want my Jenkinsfile to run that script every time I click "Build now" inside Jenkins. This is the content of my Jenkinsfile:

                                                                                              Jenkinsfile (Declarative Pipeline)
                                                                                              pipeline {
                                                                                                  agent { docker { image 'python:3.10.1-alpine' } }
                                                                                                  stages {
                                                                                                      stage('build') {
                                                                                                          steps {
                                                                                                              sh 'python spam-bot.py'
                                                                                                          }
                                                                                                      }
                                                                                                  }
                                                                                              }
                                                                                              

                                                                                              The problem is, whenever I click "Build now", my build fails and the console outputs the following error:

                                                                                              Started by user Mario Mateas
                                                                                              Obtained Jenkinsfile from git https://github.com/mateasmario/spam-bot.git
                                                                                              org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
                                                                                              WorkflowScript: 1: unable to resolve class Declarative 
                                                                                               @ line 1, column 26.
                                                                                                 Jenkinsfile (Declarative Pipeline)
                                                                                                                          ^
                                                                                              
                                                                                              1 error
                                                                                              
                                                                                                  at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
                                                                                                  at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:958)
                                                                                                  at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:605)
                                                                                                  at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:554)
                                                                                                  at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
                                                                                                  at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
                                                                                                  at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
                                                                                                  at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
                                                                                                  at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:142)
                                                                                                  at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:127)
                                                                                                  at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:571)
                                                                                                  at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:523)
                                                                                                  at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:334)
                                                                                                  at hudson.model.ResourceController.execute(ResourceController.java:99)
                                                                                                  at hudson.model.Executor.run(Executor.java:432)
                                                                                              Finished: FAILURE
                                                                                              

                                                                                              I looked up for this error on the internet, but didn't find any useful information, and that's why I decided to ask here. I also don't have any Docker container configured. Do I need to configure one? I took a look over Jenkins' documentation for Docker, but didn't see any useful information for adding a Python image (as the one mentioned at the beginning of the Jenkinsfile) to the container.

                                                                                              ANSWER

                                                                                              Answered 2021-Dec-23 at 12:01

                                                                                              Your Jenkinsfile contains invalid syntax on the first line, which is why the error is being thrown. Assuming you intended that first line to be a comment, you can modify the pipeline code to be:

                                                                                              // Jenkinsfile (Declarative Pipeline)
                                                                                              pipeline {
                                                                                                ...
                                                                                              }
                                                                                              

                                                                                              and your pipeline code will have valid syntax.

                                                                                              Source https://stackoverflow.com/questions/70459146

                                                                                              QUESTION

                                                                                              How to deploy an AWS Kinesis Data Analytics App without downtime
                                                                                              Asked 2021-Dec-14 at 09:41

                                                                                              We currently have an AWS Kinesis Data Analytics app that requires a .jar file to run.

                                                                                              We have automated the deployment for our .jar file that resides in an S3 bucket.

                                                                                              Our issue is, whenever the .jar file is updated we are forced to restart the kinesis app to get the new build which is causing downtime

                                                                                              Does anyone have a workaround or another way of deploying the app Without causing downtime ?

                                                                                              ANSWER

                                                                                              Answered 2021-Dec-14 at 09:41

                                                                                              Flink itself does not support zero-downtime deployments. While a few users have built their own solutions for this, it requires implementing application-specific deployment automation and tooling. See

                                                                                              for examples.

                                                                                              Source https://stackoverflow.com/questions/70346220

                                                                                              QUESTION

                                                                                              ArgoCD app-of-apps create the child app but doesn't deploy the manifests inside the app
                                                                                              Asked 2021-Dec-08 at 13:55

                                                                                              I want to use the App-of-apps practice with ArgoCD. So I created a simple folder structure like the one below. Then I created a project called dev and I created an app that will look inside the folder apps, so when new Application manifests are included, it will automatically create new applications. This last part works. Every time I add a new Application manifest, a new app is created as a child of the apps. However, the actual app that will monitor the respective folder and create the service and deployment is not created and I can't figure out what I am doing wrong. I have followed different tutorials that use Helm and Kustomize and all have given the same end result.

                                                                                              Can someone spot what am I missing here?

                                                                                              • Folder structure
                                                                                              deployments/dev
                                                                                              ├── apps
                                                                                              │   ├── app1.yaml
                                                                                              │   └── app2.yaml
                                                                                              ├── app1
                                                                                              │   ├── app1-deployment.yaml
                                                                                              │   └── app1-svc.yaml
                                                                                              └── app-2
                                                                                                  ├── app2-deployment.yaml
                                                                                                  └── app2-svc.yaml
                                                                                              
                                                                                              • Parent app Application manifest that is watching /dev/apps folder
                                                                                              apiVersion: argoproj.io/v1alpha1
                                                                                              kind: Application
                                                                                              metadata:
                                                                                                name: root-app
                                                                                                namespace: argocd
                                                                                              spec:
                                                                                                destination:
                                                                                                  server: https://kubernetes.default.svc
                                                                                                  namespace: argocd
                                                                                                project: dev
                                                                                                source:
                                                                                                  path: deployments/dev/apps/
                                                                                                  repoURL: https://github.com/.git
                                                                                                  targetRevision: HEAD
                                                                                                syncPolicy:
                                                                                                  automated:
                                                                                                    prune: true
                                                                                                    selfHeal: true
                                                                                                    allowEmpty: true
                                                                                              
                                                                                              • And the App1 and App2 Application manifest is the same for both apps like so:
                                                                                              apiVersion: argoproj.io/v1alpha1
                                                                                              kind: Application
                                                                                              metadata:
                                                                                                name: /
                                                                                                namespace: default
                                                                                              spec:
                                                                                                destination:
                                                                                                  server: https://kubernetes.default.svc
                                                                                                  namespace: default
                                                                                                project: dev
                                                                                                source:
                                                                                                  path: deployments/dev/ or deployments/dev/
                                                                                                  repoURL: https://github.com/.git
                                                                                                  targetRevision: HEAD
                                                                                                syncPolicy:
                                                                                                  automated:
                                                                                                    prune: true
                                                                                                    selfHeal: true
                                                                                                    allowEmpty: true
                                                                                              

                                                                                              ANSWER

                                                                                              Answered 2021-Dec-08 at 13:55
                                                                                              Posting comment as the community wiki answer for better visibility

                                                                                              It turns out that at the moment ArgoCD can only recognize application declarations made in ArgoCD namespace, but @everspader was doing it in the default namespace. For more info, please refer to GitHub Issue

                                                                                              Source https://stackoverflow.com/questions/70211189

                                                                                              QUESTION

                                                                                              Does implementing CI/CD require prerequisite steps?
                                                                                              Asked 2021-Nov-30 at 19:58

                                                                                              I'm trying to understand CI/CD strategy.

                                                                                              Many CI/CD articles mention that it's a automation services of build, test, deploy phase.

                                                                                              I would to know does CI/CD concept have any prerequisites step(s)?

                                                                                              For example, if I make a simple tool that automatically builds and deploys, but test step is manual - can this be considered CI/CD?

                                                                                              ANSWER

                                                                                              Answered 2021-Nov-30 at 19:58

                                                                                              There's a minor point of minutia that should be mentioned first: the "D" in "CI/CD" can either mean "Delivery" or "Deployment". For the sake of this question, we'll accept the two terms as relatively interchangeable -- but be aware that others may apply a more narrow definition, which may be slightly different depending on which "D" you mean, specifically. For additional context, see: Continuous Integration vs. Continuous Delivery vs. Continuous Deployment

                                                                                              For example, if I make a simple tool that automatically builds and deploys, but test step is manual - can this be considered CI/CD?

                                                                                              Let's break this down. Beforehand, let's establish what can be considered "CI/CD". Easy enough: if your (automated) process is practicing both CI (continuous integration) and CD (continuous deployment), then we can consider the solution as being some form of "CI/CD".

                                                                                              We'll need some definitions for CI and CD (see above link), which may vary by opinion. But if the question is whether this can be considered CI/CD, we can proceed on the lowest common denominator / bare minimum of popular/accepted definitions and apply those definitions liberally as they relate to the principles of CI/CD.

                                                                                              With that context, let's proceed to determine whether the constituent components are present.

                                                                                              Is Continuous Integration being practiced?

                                                                                              Yes. Continuous Integration is being practiced in this scenario. Continuous integration, in its most basic sense, is making sure that your ongoing work is regularly (continually) integrated (tested).

                                                                                              The whole idea is to combat the consequences of integrating (testing) too infrequently. If you do many many changes and never try to build/test the software, any of those changes may have very well broken the build, but you won't know until the point in time where integration (testing) occurs.

                                                                                              You are regularly integrating your changes and making sure the software still builds. This is unequivocally CI in practice.

                                                                                              But there are no automated tests?!

                                                                                              One may make an objection to the effect of "if you're not running what is traditionally thought of as tests (unit|integration|smoke|etc) as part of your automated process, it's not CI" -- this is a demonstrably false statement.

                                                                                              Even though in this case you mention that your "test" steps would be manual, it's still fair to say that simply building your application would be sufficient to meet the basic definition of a "test" in the sense of continuous integration. Successfully building (e.g. compiling) your code is, in itself IS a test. You are effectively testing "can it build". If your code change breaks the compile/build process, your CI process will tell you so right after committing your code -- that's CI in action.

                                                                                              Just like code changes may break a unit test, they can also break the compilation process -- automating your build tests that your changes did not break the build and is, therefore, a kind of continuous integration, without question.

                                                                                              Sure, your product can be broken by your changes even if it compiles successfully. It may even be the case that those software defects would have been caught by sufficient unit testing. But the same could be said of projects with proper unit tests, even projects with "100% code coverage". We certainly don't consider projects with test gaps as not practicing CI. The size of the test gap doesn't make the distinction between CI and non-CI; it's irrelevant to the definition.

                                                                                              Bottom line: building your software exercises (integrates/tests) your code changes, if even only in a minimally significant degree. Doing this on a continuous basis is a form of continuous integration.

                                                                                              Is Continuous Deployment/Delivery being practiced

                                                                                              Yes. It is plain to see in this scenario that, if you are deploying/delivering your software to whatever its 'production environment' is in an automated fashion then you have the "CD" component to CI/CD, at least in some minimal degree. The fact that your tests may be manual is not consequential.

                                                                                              Similar to the above, reasonable people could disagree on the effectiveness of the implementation depending on the details, but one would not be able to make the case that this practice is non-CD, by definition.

                                                                                              Conclusion: can this practice be considered "CI/CD"?

                                                                                              Yes. Both elements of CI and CD are present in at least a minimum degree. The practices used probably can't reasonably be called non-CI or non-CD. Therefore, it should be concluded this described practice can be considered "CI/CD".

                                                                                              I think it goes without saying that the described CI/CD process has gaps and could benefit from improvement and, with the lack of automated tests and other features, doesn't reap all the possible benefits of a robust CI/CD process could offer. However, this doesn't render the process non-CICD by any means. It's certainly CI/CD in practice; whether it's a particularly good or robust CI/CD practice is a subject of opinion.

                                                                                              does CI/CD concept have any prerequisites step(s)?

                                                                                              No, there are no specific prerequisites (like writing automated software tests, for example) to applying CI/CD concepts. You can apply both CI and CD independently of one another without any prerequisites.

                                                                                              To further illustrate, let's think of an even more minimal project with "CI/CD"...

                                                                                              CD could be as simple as committing to the main branch repository of a GitHub Pages. If that same Pages repo, for example, uses Jekyll, then you have CI, too, as GitHub will build your project automatically in addition to deploying it and inform you of build errors when they occur.

                                                                                              In this basic example, the only thing that was needed to implement "CI/CD" was commit the Jekyll project code to a GitHub Pages repository. No prerequisites.

                                                                                              There's even cases where you can accurately consider a project as having a CI process and the CI process might not even build any software at all! CI could, for example, consist solely of code style checks or other trivial checks like checking for newlines at the end of files. When projects only include these kinds of checks alone, we would still call that check process "CI" and it wouldn't be an inaccurate description of the process.

                                                                                              Source https://stackoverflow.com/questions/70166800

                                                                                              QUESTION

                                                                                              Build works on local but fails on codemagic | Execution failed for task ':app:stripDebugDebugSymbols'
                                                                                              Asked 2021-Nov-09 at 10:54

                                                                                              I'm trying to implement a continuous deployment system to build my app and deploy to Google Play using codemagic. Doing a build works fine locally but fails remotely on codemagic.

                                                                                              Error summary:

                                                                                              FAILURE: Build failed with an exception.
                                                                                              * What went wrong:
                                                                                              Execution failed for task ':app:stripDebugDebugSymbols'.
                                                                                              > 1 exception was raised by workers:
                                                                                                org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/usr/local/share/android-sdk/ndk/23.1.7779620/toolchains/llvm/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-strip''
                                                                                              

                                                                                              Complete log:

                                                                                              == Building for Android ==
                                                                                              
                                                                                              > flutter build appbundle --debug
                                                                                              Running "flutter pub get" in My_Project...                     1,655ms
                                                                                              
                                                                                              💪 Building with sound null safety 💪
                                                                                              
                                                                                              Running Gradle task 'bundleDebug'...                            
                                                                                              [flutter_background_geolocation] Purging debug resources in release build
                                                                                              Note: Some input files use or override a deprecated API.
                                                                                              Note: Recompile with -Xlint:deprecation for details.
                                                                                              Note: /Users/builder/programs/flutter_2_5_3/.pub-cache/hosted/pub.dartlang.org/geocoding-2.0.1/android/src/main/java/com/baseflow/geocoding/GeocodingPlugin.java uses or overrides a deprecated API.
                                                                                              Note: Recompile with -Xlint:deprecation for details.
                                                                                              Note: Some input files use or override a deprecated API.
                                                                                              Note: Recompile with -Xlint:deprecation for details.
                                                                                              Note: Some input files use or override a deprecated API.
                                                                                              Note: Recompile with -Xlint:deprecation for details.
                                                                                              
                                                                                              FAILURE: Build failed with an exception.
                                                                                              
                                                                                              * What went wrong:
                                                                                              Execution failed for task ':app:stripDebugDebugSymbols'.
                                                                                              > 1 exception was raised by workers:
                                                                                                org.gradle.process.internal.ExecException: A problem occurred starting process 'command '/usr/local/share/android-sdk/ndk/23.1.7779620/toolchains/llvm/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-strip''
                                                                                              
                                                                                              
                                                                                              * Try:
                                                                                              Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
                                                                                              
                                                                                              * Get more help at https://help.gradle.org
                                                                                              
                                                                                              BUILD FAILED in 2m 19s
                                                                                              Running Gradle task 'bundleDebug'...                              141.1s
                                                                                              Gradle task bundleDebug failed with exit code 1
                                                                                              
                                                                                              
                                                                                              Build failed :|
                                                                                              Failed to build for Android
                                                                                              

                                                                                              Current configuration on codemagic:

                                                                                              Flutter channel: stable 
                                                                                              Mode: debug 
                                                                                              Build for: Android
                                                                                              

                                                                                              ANSWER

                                                                                              Answered 2021-Nov-09 at 10:54

                                                                                              to fix this you need to upgrade Gradle version in android/gradle/wrapper/gradle-wrapper.properties to 6.7.1 or commit gradle wrapper to your repository if you don't have this file.

                                                                                              Additional to that you also might need to upgrade Android Gradle plugin in andriod/build.gradle

                                                                                              - classpath 'com.android.tools.build:gradle:3.5.4'
                                                                                              + classpath 'com.android.tools.build:gradle:4.2.0'
                                                                                              

                                                                                              WITHOUT GRADLE UPGRADE

                                                                                              if for some reasons you can't upgrade Gradle version you can freeze previous NDK version.

                                                                                              For that you can specify ndkVersion "22.1.7171670" in your build.gradle and make sure you use Java 1.8 since there is an issue with using latest Java versions.

                                                                                              In Codemagic you can specify Java version in environment section in your codemagic.yaml like this

                                                                                              workflows:
                                                                                                workflow-name:
                                                                                                  environment:
                                                                                                    ndk: r22b
                                                                                                    java: 1.8
                                                                                              

                                                                                              Source https://stackoverflow.com/questions/69876065

                                                                                              QUESTION

                                                                                              Why does Azure Pipelines say "The environment does not exist or has not been authorized for use"?
                                                                                              Asked 2021-Oct-28 at 12:24

                                                                                              In Azure Pipelines YAML, you can specify an environment for a job to run in.

                                                                                                jobs:
                                                                                                  - deployment: Deploy
                                                                                                    displayName: Deploy
                                                                                                    environment: $(environment)
                                                                                              

                                                                                              Passing a new value to the pipeline should automatically create the Environment in DevOps.

                                                                                              However, I have recently gotten this error when attempting to deploy to a new environment:

                                                                                              Job Deploy: Environment [environment-name] could not be found. The environment does not exist or has not been authorized for use.

                                                                                              After I created the environment manually, the pipeline deployed successfully.

                                                                                              Is there any configuration or something I'm missing that would allow the environment to be created automatically?

                                                                                              ANSWER

                                                                                              Answered 2021-Oct-13 at 07:32

                                                                                              Why does Azure Pipelines say "The environment does not exist or has not been authorized for use"?

                                                                                              First, you need to make sure you are Creator in the Security of environment:

                                                                                              Second, make sure change/create the environment name from yaml editor, not from repo.

                                                                                              If above not help you, may I know what is your role in the project, Project Reader?

                                                                                              Source https://stackoverflow.com/questions/69546506

                                                                                              Community Discussions, Code Snippets contain sources that include Stack Exchange Network

                                                                                              Vulnerabilities

                                                                                              No vulnerabilities reported

                                                                                              Install autotest-docker

                                                                                              You can download it from GitHub.
                                                                                              You can use autotest-docker like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.

                                                                                              Support

                                                                                              For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
                                                                                              Find more information at:
                                                                                              Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
                                                                                              Find more libraries
                                                                                              Explore Kits - Develop, implement, customize Projects, Custom Functions and Applications with kandi kits​
                                                                                              Save this library and start creating your kit

                                                                                              Share this Page

                                                                                              share link

                                                                                              Explore Related Topics

                                                                                              Reuse Pre-built Kits with autotest-docker

                                                                                              Consider Popular Continuous Deployment Libraries

                                                                                              Try Top Libraries by autotest

                                                                                              autotest

                                                                                              by autotestPython

                                                                                              virt-test

                                                                                              by autotestPython

                                                                                              tp-qemu

                                                                                              by autotestPython

                                                                                              tp-libvirt

                                                                                              by autotestPython

                                                                                              Compare Continuous Deployment Libraries with Highest Support

                                                                                              Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
                                                                                              Find more libraries
                                                                                              Explore Kits - Develop, implement, customize Projects, Custom Functions and Applications with kandi kits​
                                                                                              Save this library and start creating your kit