IT/Jenkins

jenkins suggested plugins 시작시 제안플러그인 목록

bepuri 2021. 11. 4. 14:13
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