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 |
---|