what does AWS CodePipeline build provider do? - amazon-web-services

I am beginner at using AWS .so i want to ask some questions about CodePipeline.
so all i know about CodePipeline ,that i can connect it to github repo to let my app updated automatically ... then when i am doing the steps something called build provider appeared (its optional) .. and when i skip it it says "Your pipeline will not include a build stage"
so why do i have to do a build provider when my project compiled and build successfully locally on my PC ,i know its an optional step ,so can i know what it do exaclty ?

When you are automating your code deployment process you cannot build your code locally as its a manual process.
To Automate the process code-pipeline has a build provider which can build your code as n when required. So, that you don't need to checkout the code locally and build before deploying.

Related

how to write a makefile for gitlab -ci for python code?

I would like to write a makefile for my python project, and would like to run this project at amazon airflow called (mwaa). Can somebody help me with link or any video where I can learn to write a makefile step by step, and also if it has some packaging steps for deployment to mwaa.
Apologies I am new into gitlab CI-CD and have no clue about the deployment process.

Unable to configure CI build for Dot Net core 3.1 from deployment center. Is there any way to setup CI Azure DevOps

Unable to configure CI build for Dot Net core 3.1 from deployment center.
Is there any way to setup CI Azure DevOps.
Please let us know is there any way to configure?.
Is there any way to setup CI Azure DevOps
For this issue ,you can achieve this through the following tasks. The build pipeline performs various tasks such as fetching sources from the Git repository, restoring dependencies, compile the application, run tests and publishing outputs used for deployments.
Then selecting Triggers. The Azure DevOps project automatically created a CI trigger, and every commit to the repository initiates a new build. You can optionally choose to include or exclude branches from the CI process.
You can refer to this lab for details. If you want to use yaml to set CI build, you can refer to this official document and guide.

TFS 2017 - Build and Release

I am very new in TFS, need to implement CICD using TFS 2017 and its build and release feature,
when I tried to run build after creating build definition, I got error like no agent found, I googled and found how to configure agent, but I have logical confusion in my mind as below:
How Agent works with TFS 2017?
Where process of CI will be run on Agent or on TFS server?
Where I need to have msbuild ? where my built code will be placed?
What other dependencies would be there on Agent machine?
all question might be silly but as I have worked with Jenkins and Git, i dont have knowledge of Microsoft technologies, and I can't find well documents for the same.
How Agent works with TFS 2017?
In short to build with TFS, you need to Deploy an agent, in the agent machine you need to install the proper build components/SDKs accordingly based on your project.
Create a build definition. Once a build is triggered , the sources will be downloaded from the TFS repository to the agent machine and then build in the agent machine.
Related documents : Agent pools and queues; Build and Release Agents; Build definition options
Where process of CI will be run on Agent or on TFS server?
You can eanble the CI (turn on the Continuous integration trigger) in build definition. See Configure continuous integration for details. Thus the build will automatically be triggered once changes are checked in.
Related documents: A quick introduction to CI/CD ; Build and release
Where I need to have msbuild ? where my built code will be placed?
For vNext build, it's task based build system. You can define your build definition based on the tasks. See Build and release tasks .
e.g.: You can use MSBuild or Visual Studio Build task, you can specify the MSBuild Arguments as needed.
You can use the utility task: Copy and Publish Build Artifacts and Publish Build Artifacts to specify where the built code will be placed. (Artifact Type : Server/File share path)
What other dependencies would be there on Agent machine?
Refer to the answer for the first question.

How to do automatic releases/nightlies of C++ software with GitHub?

What I'm looking for is something that builds C++ code every night or on every commit, and then, crucially, runs some commands to create a zip or a package which can then be added to a "Release" on GitHub.
I know there's travis-CI, which automatically compiles commits, and it can run for example a CMake INSTALL target and then CPack, which would create a zip or installer package. But it's not possible to upload these files to GitHub or display them somewhere.
I was thinking that maybe there was another service for that available which integrates with GitHub, but couldn't find any Google hits whatsoever. Preferably this would be separate from travis-CI, since on travis you would run debug-like builds (static analysers etc.). While for a release you want to deploy, you'd put release flags, build documentation, etc.
This is for an open source project so I'm looking for something that does this free for open source projects, preferably without setting up own server infrastructure.
There are a few related posts like Travis-CI Auto-Tag Build for GitHub Release or a travis section on deployment but they haven't really answered my question.
You can use travis-CI for this, check out "build artifacts" in the documentation.
https://docs.travis-ci.com/user/deployment/releases/
At time of writing it looks like this:
GitHub Releases Uploading
Travis CI can automatically upload assets from your $TRAVIS_BUILD_DIR to your git tags on your GitHub repository.
Please note that deploying GitHub Releases works only for tags, not for branches.
For a minimal configuration, add the following to your .travis.yml:
deploy:
provider: releases
api_key: "GITHUB OAUTH TOKEN"
file: "FILE TO UPLOAD"
skip_cleanup: true
on:
tags: true
Basically you would have to tag each commit that you want to get uploaded, so you could make a cron job that does that regularly, or do it manually, only on days that interesting work happened.
Alternatively, you could make it upload all builds to a google cloud storage account, or an amazon s3 account, and then you can cron job it from there. See docs for instance here.

Fabric task dependencies

I am working on a fabric file to make our code deployment process a little bit easier. Now I would like to have dependencies between certain tasks, similar to what is discussed in one here.
Let's simplify the problem and say I have two task: build and deploy. The build task should build our code and the deploy task will transfer it to a deployment server.
Now, deploy obviously depends on build, but build could also be a standalone task. So someone could just build the code with fab build or deploy the code with fab build deploy. But I also want people to use fab deploy for convenience, but then it should run build first. But build should only be executed once.
So if I include build into the deploy task and then do fab build deploy it will run build twice and then deploy.
I managed to do this with the runs_once decorator and execute function.
The build task is now decorated with runs_once and every task that depends on build, e.g. deploy, will do execute(build) at the beginning. This will execute the build task or silently fail if it was already executed (thanks to the decorator).
This is more like a workaround than a solution but it works in my case. Regardless, thanks to everyone for their input