GitHub Enterprise and Migration of CI/CD Pipelines from Azure DevOps to GitHub
Rautiainen, Olli (2023)
Rautiainen, Olli
2023
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202305098852
https://urn.fi/URN:NBN:fi:amk-202305098852
Tiivistelmä
DevOps platforms help to enable automation to different processes in software development lifecycle. GitHub Enterprise and Azure DevOps are both Microsoft owned DevOps platforms. They provide similar features to business customers, but the implementation of CI/CD features varies. Artificial intelligence products like GitHub Copilot extend automation to developer workflows and help to code faster and focus on larger problems rather than smaller repetitive tasks.
The purpose of this thesis was to research GitHub Enterprise platform, the CI/CD capabilities of GitHub Actions and the privacy state of GitHub Copilot for the client organization. The goal was to find out if these platforms and features are suitable for the client and to estimate the workload that must be done to migrate the client's current CI/CD pipelines from Azure DevOps to GitHub Actions. The thesis was commisioned by Ponsse Plc.
The work was conducted between January and April 2023. First, the platforms were studied from the official documentation and from similar migration processes and guides. Next, GitHub Enterprise Server was deployed and GitHub Actions CI/CD features were tested and compared to Azure DevOps. The automated migration process was tested with GitHub Actions Importer. Lastly, GitHub Copilot privacy statements were reviewed.
In conclusion, GitHub Enterprise platform had the required capabilities and features. GitHub Actions had very similar CI/CD features than Azure DevOps and was equally capable of doing the required tasks. This work demonstrated some differences in the files that define the pipelines and conversions between platforms. GitHub Actions Importer converted parts of the pipelines automatically and helped to plan the overall migration process. There still remained a lot of manual work in the process, especially when converting the Azure DevOps custom tasks. Therefore, Actions Importer needs more testing with the actual pipelines of the client to get a more precise estimate of the required manual workload. GitHub Copilot for Business version had the strictest privacy statements. GitHub stated that it does not collect, share or use the code of the Business user. The code is processed in real time and is not retained for further use. GitHub collects user engagement data from all Copilot users. This data is used for product improvements and research purposes and is shared with Microsoft and OpenAI.
The purpose of this thesis was to research GitHub Enterprise platform, the CI/CD capabilities of GitHub Actions and the privacy state of GitHub Copilot for the client organization. The goal was to find out if these platforms and features are suitable for the client and to estimate the workload that must be done to migrate the client's current CI/CD pipelines from Azure DevOps to GitHub Actions. The thesis was commisioned by Ponsse Plc.
The work was conducted between January and April 2023. First, the platforms were studied from the official documentation and from similar migration processes and guides. Next, GitHub Enterprise Server was deployed and GitHub Actions CI/CD features were tested and compared to Azure DevOps. The automated migration process was tested with GitHub Actions Importer. Lastly, GitHub Copilot privacy statements were reviewed.
In conclusion, GitHub Enterprise platform had the required capabilities and features. GitHub Actions had very similar CI/CD features than Azure DevOps and was equally capable of doing the required tasks. This work demonstrated some differences in the files that define the pipelines and conversions between platforms. GitHub Actions Importer converted parts of the pipelines automatically and helped to plan the overall migration process. There still remained a lot of manual work in the process, especially when converting the Azure DevOps custom tasks. Therefore, Actions Importer needs more testing with the actual pipelines of the client to get a more precise estimate of the required manual workload. GitHub Copilot for Business version had the strictest privacy statements. GitHub stated that it does not collect, share or use the code of the Business user. The code is processed in real time and is not retained for further use. GitHub collects user engagement data from all Copilot users. This data is used for product improvements and research purposes and is shared with Microsoft and OpenAI.