杨梅冲
每天在想什么呢?

Jenkins官网

# 官网:
https://www.jenkins.io
https://www.jenkins.io/zh/
# docker安装: https://www.jenkins.io/doc/book/installing/docker/ # yum安装: https://www.jenkins.io/download/

环境软硬件要求

# 最低硬件要求
256 MB内存
1 GB的驱动器空间(如果将Jenkins作为Docker容器运行,则建议至少使用10 GB的驱动器空间)

# 小型团队的推荐硬件配置:
4 GB+内存
50 GB以上的驱动器空间

正式环境中对内存和读写频率要求很高
# 软件要求 推荐使用Java11 yum install java-11-openjdk* docker版本可以参见官网docker的方式安装

 docker方式安装

# docker环境安装
yum install -y docker-ce docker-compose

[root@node1 ~]# docker version
Client: Docker Engine - Community
 Version:           20.10.11
 API version:       1.41
 Go version:        go1.16.9
 Git commit:        dea9396
 Built:             Thu Nov 18 00:38:53 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

  [root@node1 ~]# docker-compose -v
  docker-compose version 1.18.0, build 8dd22a9

# 需要3个镜像包
gitlab-ce
jenkins
sonarqube

# 安装运行
docker pull jenkins/jenkins:lts

mkdir -p /var/jenkins_home
chmod 777 /var/jenkins_home
# jenkins在容器中的目录/var/jenkins_home
docker run -it -v /var/jenkins_home:/var/jenkins_home -p 8888:8080 -p 50000:50000 -p 45000:45000 --name=myjenkins jenkins/jenkins:lts
docker stop myjenkins
docker start myjenkins
查看启动日志:docker logs myjenkins # 时间不同步,可以将容器外的拷贝到容器内 docker
cp /usr/share/zoneinfo/Asia/Shanghai myjenkins:/etc/localtime # 容器内网络不通 2021-12-04 12:33:38.768+0000 [id=29] WARNING hudson.model.UpdateCenter#updateDefaultSite: Upgrading Jenkins. Failed to update the default Update Site 'default'. Plugin upgrades may fail. java.net.UnknownHostException: updates.jenkins.io # 两种原因: jenkins@044f24ab0969:~$ cat hudson.model.UpdateCenter.xml <?xml version='1.1' encoding='UTF-8'?> <sites> <site> <id>default</id> <url>https://mirrors.aliyun.com/jenkins/updates/stable/update-center.json</url> </site> 第一种是:https://mirrors.aliyun.com/jenkins/updates/stable/update-center.json不能打开,需要替换URL 第二种是:确实不能访问,需要重启docker systemctl restart docker
# 之后与yum安装的图形化界面相同

基于centos环境部署:yum安装

# jenkins安装
https://mirrors.aliyun.com/jenkins/redhat-stable/jenkins-2.319.1-1.1.noarch.rpm
yum install daemonize -y
rpm -ivh jenkins-2.319.1-1.1.noarch.rpm
systemctl start jenkins

安装后配置
# 1.访问链接
# 端口配置地址:/etc/sysconfig/jenkins
JENKINS_USER="root" ,用户修改,使用jenkins用户之后执行命令会报错,权限问题

  可以获得几个重要配置项目信息

  • JENKINS_HOME="/var/lib/jenkins",存放jenkins 配置及工作文件
  • JENKINS_PORT="8080",jenkins默认8080端口
http://IP:8080
当您第一次访问Jenkins的时候,系统会要求您使用自动生成的密码对其进行解锁。
解锁秘钥可以通过$JENKINS_HOME/secrets/initialAdminPassword文件获取。还可以通过在启动日志中获取

# 2.自定义插件安装
如果不确定要安装那些的时候可以选择此选项,灵活的自定义安装.
插件安装多了也没关系,可以后面再jenkins插件管理页面删除,但是搭建速度比较慢.

 # 3.创建第一个管理员账户,之后一路完成

插件安装

以下这两个网站是Jenkins所有的插件及说明

Jenkins Plugins https://plugins.jenkins.io

Jinkins Plugins Wiki https://wiki.jenkins.io

1.安装汉化插件: Manage Jenkins--->Manage Plugins--->Avilable:Localization:chinese(Simplified)

2.用户管理-新建用户和删除用户:Manage Jenkins--->Manager User

3.项目构建、

 

在linux 服务器上可以看到这个项目/var/lib/jenkins/jobs/Test,如果在面板上将Test项目改名,但是linux服务器上的目录里的Test目录并不会删除

 docker安装gitlab

docker pull gitlab/gitlab-ce
docker run -it -p 8880:80 -p 8222:22 -v /usr/local/gitlab/etc:/etc/gitlab -v /usr/local/gitlab/log:/var/log/gitlab -v /usr/local/gitlab/opt:/var/opt/gitlab --restart always --privileged=true --name=mygitlab gitlab/gitlab-ce:latest
docker stop mygitlab
docker start mygitlab
--hostname gitlab.example.com: 设置主机名或域名(暂未设置)
-v --volume /usr/local/gitlab/etc:/etc/gitlab 挂载目录
--name mygitlab: 运行容器名
--restart always: 自动重启
--privileged=true 使得容器内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限
登录镜像:
docker exec -it mygitlab /bin/bash
# 修改配置
vi /usr/local/gitlab/etc/gitlab.rb
external_url 'http://192.168.0.112'
gitlab_rails['gitlab_ssh_host'] = '192.168.0.112'
gitlab_rails['gitlab_shell_ssh_port'] = 8222

# 让配置生效
gitlab-ctl reconfigure

# 修改http和ssh配置 vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
host: 192.168.0.112
port: 8880 # 默认是80,需要修改,否则会报502
https: false

# 修改完成后重启并退出
gitlab-ctl restart
http://192.168.0.112:8880
# 输入账号密码,如果不记得请重置

# 进入容器内部
docker exec -it gitlab /bin/bash

# 进入控制台
gitlab-rails console -e production

# 查询id为1的用户,id为1的用户是超级管理员
user = User.where(id:1).first
# 修改密码为lqz123456
user.password='lqz123456'
# 保存
user.save!
# 退出
exit

在设置里面设置为中文,重新登录后在菜单中新建一个项目

Jenkins常用功能

系统管理--插件管理
部分插件安装无需重启Jenkins
删除插件并不会立即生效
最佳实践:仅选择必要的插件,否则会影响Jenkins加载速度

插件中如果可以用没必要升级的请不要升级,如果需要升级请先在备用jenkins上进行测试
系统管理--节点管理---新建节点
1.输入节点名称,勾选固定节点,并确定;

 添加第二个节点的时候,可以复制salve1的节点,修改下主机IP和添加按钮的账号密码或者改成ssh信任的key模式

2.将节点用起来

创建任务的时候有一个:限制项目运行的节点--填写标签

节点比较多的话,需要安装插件Node and Label parameter

3.Source Code Management

  Git Svn 其它80+插件支持其它SCM系统

Git--全局配置

build node 上安装 git tool

global tool configuration配置

执行后可以查看输出

 

 

 

 

posted on 2021-12-05 16:33  杨梅冲  阅读(540)  评论(0编辑  收藏  举报