728x90
최근 서비스를 운영하면서 향후 추가적인 개발자와 함께 일하게 되거나, 서버 증설이 필요하거나 등 어떤 이유로 서버 쪽이나 개발 프로세스의 변경이 필요한 경우 자동화라는 것이 매우 중요하다는 생각이 들었다.
그래서 최근엔 docker를 nginx / django / ssl 전반적인 서버 구축 자동화를 하였고, 이에 나아가서 jenkins 설치 또한 자동화 하려고 한다.(이미 CI/CD 환경은 구축되어있음.)
따라서 Jenkins를 CasC로 구축할 생각이고 그 과정에서 참고한 자료는 아래 자료이다.
https://www.digitalocean.com/community/tutorials/how-to-automate-jenkins-setup-with-docker-and-jenkins-configuration-as-code
다만 그 과정중에 suggested plugins를 어떻게 찾은것인지 궁금해 jenkins 코드를 들여다보니 아래 파일에 플러그인 목록이 나와있었다.
core\\src\\main\\resources\\jenkins\\install\\platform-plugins.json
해당 경로로 가보면 아래 형태로 플러그인 목록이 나와있고, 추천 플러그인 목록은 "suggested": true 로 구분되어 나열되어있다.
아마 Jenkins 구축 튜토리얼을 작성한 사람도 아래 목록을 참고한게 아닌가 싶다.
[ { "category":"Organization and Administration", "plugins": [ { "name": "dashboard-view" }, { "name": "cloudbees-folder", "suggested": true }, { "name": "configuration-as-code" }, { "name": "antisamy-markup-formatter", "suggested": true } ] }, { "category":"Build Features", "description":"Add general purpose features to your jobs", "plugins": [ { "name": "build-name-setter" }, { "name": "build-timeout", "suggested": true }, { "name": "config-file-provider" }, { "name": "credentials-binding", "suggested": true }, { "name": "embeddable-build-status" }, { "name": "rebuild" }, { "name": "ssh-agent" }, { "name": "throttle-concurrents" }, { "name": "timestamper", "suggested": true }, { "name": "ws-cleanup", "suggested": true } ] }, { "category":"Build Tools", "plugins": [ { "name": "ant", "suggested": true }, { "name": "gradle", "suggested": true }, { "name": "msbuild" }, { "name": "nodejs" } ] }, { "category":"Build Analysis and Reporting", "plugins": [ { "name": "cobertura" }, { "name": "htmlpublisher" }, { "name": "junit" }, { "name": "warnings-ng" }, { "name": "xunit" } ] }, { "category":"Pipelines and Continuous Delivery", "plugins": [ { "name": "workflow-aggregator", "suggested": true, "added": "2.0" }, { "name": "github-branch-source", "suggested": true, "added": "2.0" }, { "name": "pipeline-github-lib", "suggested": true, "added": "2.0" }, { "name": "pipeline-stage-view", "suggested": true, "added": "2.0" }, { "name": "conditional-buildstep" }, { "name": "jenkins-multijob-plugin" }, { "name": "parameterized-trigger" }, { "name": "copyartifact" } ] }, { "category":"Source Code Management", "plugins": [ { "name": "bitbucket" }, { "name": "clearcase" }, { "name": "cvs" }, { "name": "git", "suggested": true }, { "name": "git-parameter" }, { "name": "github" }, { "name": "gitlab-plugin" }, { "name": "p4" }, { "name": "repo" }, { "name": "subversion" } ] }, { "category":"Distributed Builds", "plugins": [ { "name": "matrix-project" }, { "name": "ssh-slaves", "suggested": true }, { "name": "windows-slaves" } ] }, { "category":"User Management and Security", "plugins": [ { "name": "matrix-auth", "suggested": true }, { "name": "pam-auth", "suggested": true }, { "name": "ldap", "suggested": true }, { "name": "role-strategy" }, { "name": "active-directory" }, { "name": "authorize-project" } ] }, { "category":"Notifications and Publishing", "plugins": [ { "name": "email-ext", "suggested": true }, { "name": "emailext-template" }, { "name": "mailer", "suggested": true }, { "name": "publish-over-ssh" }, { "name": "ssh" } ] }, { "category":"Languages", "plugins": [ { "name": "locale"}, { "name": "localization-zh-cn"} ] } ]
728x90
'IT > Jenkins' 카테고리의 다른 글
Jenkins decrypt credentials 젠킨스 secret key 복원하기 (0) | 2021.11.04 |
---|