We have .cfignore file mentioning the files that should not be staged in Cloud Foundry.
Through CF CLI tool, cf push is considering to ignore file mentioned in .cfignore before pushing files to Cloud Foundry.
But Jenkins configured using push to cloud foundry plugin does not consider ignoring the files mentioned in .cfignore
With this, Cloud Foundry some undesirable files at staging time, which makes staging failed.
How to resolve this error?
Through CF CLI tool, cf push is considering to ignore file mentioned in .cfignore before pushing files to Cloud Foundry.
Yes, this is the standard behavior of the official cf cli.
https://github.com/cloudfoundry/cli
But Jenkins configured using push to cloud foundry plugin does not consider ignoring the files mentioned in .cfignore
The official cf cli is only one of many clients that can interact with the Cloud Foundry API. Just because the cf cli behaves one way, does not guarantee that other clients will behave the same way. If the client you've chosen to use does not behave the way you want open a bug/feature request with the author/owner of your client, or switch and use a different client that offers the functionality you want.
Hope that helps!
Related
The default setup for firebase functions is to run firebase deploy, which will:
Upload the whole project to Cloud Build
Cloud Build will extract the functions
It will run npm install.
Create the ZIP artefacts
Upload the ZIP artefacts to the cloud
The question is if you know of a way to make these ZIP artefacts on our side and upload them directly?
Default Cloud Build steps
List of the Cloud Build deployments
From my point of view - there are plenty of options how to deploy one or more cloud functions.
The Deploying Cloud Functions documentation provides some initial context.
The easiest way, from my point of view, to use gcloud functions deploy command - see Cloud SDK CLI - gcloud functions deploy
As a side note - from my personal point of view - an idea to use Cloud Build - is not bad, and it has many benefits (security, organization of CI/CD, etc.) but it is up to you. Personally I use Cloud Build with Terraform, and configured deployment in a such a way, that only updated Cloud Functions are redeployed.
There is different "level" of cloud build to take into consideration.
If it's the first step, I mean create a ZIP with the code of your function, no problem, you can do it on your side. Then you can deploy the zip through the console or with api calls
In both case, you need a zip and you deploy it. And, if you use the gcloud functions deploy command, it do exactly the same thing: create a zip, send it to storage and deploy the function from that ZIP!
That's was for the first stage, where you manage the ZIP creation and sending on the cloud.
HOWEVER, to deploy the ZIP code to Google Cloud Platform you need to package that code in a runnable stuff, because you only have a function and a function isn't runnable and can't handle HTTP request.
Therefore, Google Cloud run a Cloud Build under the hood and use Buildpacks to package your code in a container (yes, all is container at Google Cloud), and deploy that container on the Cloud Functions platform.
You can't discard that container creation, without container your Cloud Functions can't run. Or you can use Cloud Run and build your own container on your side and deploy it without Cloud Build.
I am trying to deploy an apache beam Data Flow pipeline built-in python in google cloud build. I don't find any specific details about constructing the cloud build.YAML file.
I found a link dataflow-ci-cd-with-cloudbuild, but this seems JAVA based, tried this too but did not work as my starting point is main.py
It requires a container registry. Step to build & deploy is explained in the below link
Github link
I develop mostly desktop apps and class libraries, and I am struggling to find an way to host them using pipeline automation.
I know I can push them to a UNC, but then people need to know that path to find them. It works, but is not very user friendly.
What I would like is a way to host them on DevOps Server, like GitHub. On GitHub there is a Release section that you can go to and download the binaries of a project. I know Azure DevOps is geared toward webapps, but has anyone found a way to use build/release pipelines to automate the hosting of binary files?
I think what you are looking for is the Atifacts which is under the Test Plans in your project in Azure DevOps.
You can publish and download your binaries very easily here. Create a Feed and connect to it with any kinds of packages, including built in ones like NuGet and Maven, or you can customize it which called Universal packages in it.
You may find more useful information at Azure Artifacts documentation, learn what is Azure Artifacts and how you can publish and download you binaries via the CLI tool.
I have a Angular project and Django (backend) project. As of now I am using Gitlab CI/CD to deploy individual app on Google Cloud Platform. But In production environment in future I want to deploy my code at the same time. How to do this on Google Cloud Platform?
There are several tools for CI/CD on Google Cloud Platform. You could use Google App Engine with Cloud Build. You can find a pretty straightforward tutorial here. Or you could take advantage of the Gitlab Google Kubernetes Engine integration. You can find an example on the official documentation by going here.
A web application typically consists of code, config and data. Code can often be made open source on GitHub. But per-instance config and data may contain secretes therefore are inappropriate be saved in GH. Data can be imported to a persistent storage so disregard for now.
Assuming the configs are file based and are saved in another private secured SVN repo, in order to deploy the web app to OpenShift and implement CI, I need to merge config files with code prior to running build scripts. In addition, the build strategy should support GH webhooks for automated build.
My questions are, to be more specific:
Does OS BuildConfig support multiple data sources, especially from svn?
If not, how to deploy such web app to OS?
The solution I came up with so far:
Instead of relying on OS for CI, use Jenkin instead.
Merge config files with code using Jenkins.
Instead of using Git source type in BuildConfig, use binary source instead
Let jenkins run
oc start-build --from-dir=<directory>
where <directory> contains merged code/config