微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Jenkins 之 安装部署

一、基于linux操作系统安装jenkins(不作重点介绍)

1、下载Jenkins安装包
wget http://mirrors.jenkins.io/war/latest/jenkins.war

Jenkins  之  安装部署

2、安装tomcat与jdk(此步省略)
3、把jenkins.war放到TOMCAT下的webapps

Jenkins  之  安装部署

4、启动tomcat,加载jenkins下的war包
备注:初始密码/root/.jenkins/secrets/initialAdminPasswod

二、基于k8s安装jenkins

1、对应的yaml安装文件

apiVersion: v1
kind: Namespace
Metadata:
  name: jenkins          #创建jenkins表空间
---
apiVersion: v1
kind: ServiceAccount
Metadata:
  name: jenkins             #创建一个jenkins serviceaccount ,并赋予cluster-admin权限
  namespace: jenkins
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
Metadata:
  name: jenkins-crb
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: jenkins
  namespace: jenkins
---
apiVersion: apps/v1
kind: Deployment
Metadata:
  name: jenkins-master           #用deployment管理jenkins容器
  namespace: jenkins
spec:
  replicas: 1
  selector:
    matchLabels:
      devops: jenkins-master
  template:
    Metadata:
      labels:
        devops: jenkins-master
    spec:
      nodeselector:
        jenkins: "true"          #固定在某台主机上运行
      serviceAccount: jenkins #Pod 需要使用的服务账号
      initContainers:            #初始化容器加载本地文件夹权限
      - name: fix-permissions
        image: busyBox
        command: ["sh", "-c", "chown -R 1000:1000 /var/jenkins_home"]
        securityContext:
          privileged: true
        volumeMounts:
        - name: jenkinshome
          mountPath: /var/jenkins_home
      containers:
      - name: jenkins
        image: jenkinsci/blueocean:1.23.2
        imagePullPolicy: IfNotPresent
        ports:
        - name: http #Jenkins Master Web 服务端口
          containerPort: 8080
        - name: slavelistener #Jenkins Master 供未来 Slave 连接的端口
          containerPort: 50000
        volumeMounts:
        - name: jenkinshome
          mountPath: /var/jenkins_home
        env:
        - name: JAVA_OPTS
          value: "-xms4096m -Xmx5120m -Duser.timezone=Asia/Shanghai -Dhudson.model.DirectorybrowserSupport.CSP="
      volumes:
      - name: jenkinshome
        hostPath:
          path: /var/jenkins_home/
---
apiVersion: v1
kind: Service       #service服务
Metadata:
  name: jenkins
  namespace: jenkins
spec:
  ports:
  - name: http
    port: 8080
    targetPort: 8080
  - name: slavelistener
    port: 50000
    targetPort: 50000
  type: ClusterIP
  selector:
    devops: jenkins-master
---
apiVersion: extensions/v1beta1
kind: Ingress               #ingress发布
Metadata:
  name: jenkins-web
  namespace: jenkins
spec:
  rules:
  - host: jenkins.cedarhd.com
    http:
      paths:
      - backend:
          serviceName: jenkins
          servicePort: 8080
        path: /

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐