- Learning Continuous Integration with Jenkins(Second Edition)
- Nikhil Pathania
- 400字
- 2021-07-02 21:18:32
Binary repository tools
As part of the SDLC, the source code is continuously built into binary artifacts using CI. Therefore, there should be a place to store these built packages for later use. The answer is, using a binary repository tool. But what is a binary repository tool?
A binary repository tool is a Version Control System for binary files. Do not confuse this with the Version Control System discussed in the previous sections. The former is responsible for versioning the source code, and the latter is for binary files, such as .rar, .war, .exe, .msi, and so on. Along with managing built artifacts, a binary repository tool can also manage 3-party binaries that are required for a build. For example, the Maven plugin always downloads the plugins required to build the code into a folder. Rather than downloading the plugins again and again, they can be managed using a repository tool:
Repository tool
From the above illustration, you can see as soon as a build gets created and passes all the checks, the built artifact is uploaded to the binary repository tool. From here, the developers and testers can manually pick them, deploy them, and test them. Or, if the automated deployment is in place, then the built artifacts are automatically deployed to the respective test environment. So, what're the advantages of using a binary repository?
A binary repository tool does the following:
- Every time a built artifact gets generated, it is stored in a binary repository tool. There are many advantages of storing the build artifacts. One of the most important advantages is that the build artifacts are located in a centralized location from where they can be accessed when needed.
- It can store third-party binary plugins, modules that are required by the build tools. Hence, the build tool need not download the plugins every time a build runs. The repository tool is connected to the online source and keeps updating the plugin repository.
- It records what, when, and who created a build package.
- It provides a staging like environments to manage releases better. This also helps in speeding up the CI process.
- In a CI environment, the frequency of build is too high, and each build generates a package. Since all the built packages are in one place, developers are at liberty to choose what to promote and what not to promote in higher environments.
- 全屋互聯(lián):智能家居系統(tǒng)開(kāi)發(fā)指南
- Kubernetes修煉手冊(cè)
- Linux運(yùn)維之道(第3版)
- Extending Puppet
- Linux操作系統(tǒng)應(yīng)用編程
- 嵌入式實(shí)時(shí)操作系統(tǒng):RT-Thread設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)系統(tǒng):基于x86+Linux平臺(tái)
- Kali Linux高級(jí)滲透測(cè)試
- Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)
- 分布式高可用架構(gòu)之道
- 分布式系統(tǒng)設(shè)計(jì)實(shí)踐
- Hands-On GPU Programming with Python and CUDA
- Building Telephony Systems With Asterisk
- 鴻蒙操作系統(tǒng)設(shè)計(jì)原理與架構(gòu)
- Azure Resource Manager Templates Quick Start Guide