0

I am an EE student who was able to secure a summer job with a CS professor. He will start working on a development project and asked me to setup a GitHub repo for the same. I have coding experience but my experience with git and other software tools has been very minimal. Attached is a picture of the repository I built for him. He saw the repo and told me to include for CI-CD and Airflow. Now, I found some stuff online to help me with airflow but am stumped at the CI-CD part.

I have watched tutorials and have kind of understood what the continuous integration, delivery/deployment means but I am unsure how it should look in Github.

Shouldn't the current structure take care of the CI-CD process, like integrate all your code in the src folder (see image) and then testing will be done through the scripts in the test folder. Do I need to connect the folders somehow, so when programmers integrate their code, testing automatically runs to validate their work? Or should there be a separate CI-CD folder with subfolders? and if so, what should the subfolders be called?

I realize my question is not a standard posting at stackoverflow, but I will incredibly appreciate if someone could please help me.

enter image description here

torek
  • 448,244
  • 59
  • 642
  • 775
freshman_2021
  • 361
  • 2
  • 9
  • *Git* does not provide CI/CD, but many CI/CD providers are also Git hosting sites and will use their own hosting site as the place that stores the repository on which the CI/CD is performed. Unfortunately, since Git itself does not provide CI/CD, each hosting site has *its own* method of doing this. Meanwhile Apache Airflow is something else entirely (I added that tag, but you should pick which hosting site(s) you care about here for the next steps—you mention GitHub in the title so I'll put that in tags too). – torek May 22 '22 at 04:30

1 Answers1

0

I am not entirely sure about your project goal - so will not comment on where airflow will fit here but for the cicd part you can explore Jenkins, TravisCI, CircleCI.

High level - there are 2 parts to it

  1. Some config which will sit in your codebase
  2. Some pipeline you need to build on one of the above tools - putting in scripts with the commands to be executed at each stages of your integration through testing and then your final deployment

reference link: here

khari-sing
  • 650
  • 6
  • 16