1、Jenkins安装无法写入文件权限问题:
先查看宿主机中docker组的id是993
对应jenkins_home里Dockerfile里的993
以上主要是为了解决jenkins能操作Docker容器命令
把jenkins_home文件改成777权限。让jenkins镜象能先写文件到宿主机上。
useradd jenkins
groupadd jenkins
usermod -a -G docker jenkins 把jenkins加入到docker
Vi /etc/passwd 添加下面的用户uid是1000,属组是1000
jenkins:x:1000:1000:Linux User,,,:/home/jenkins:/sbin/nologin
mysql:x:999:999::Linux User,,,:/home/mysql:/bin/bash
Vi /etc/group 添加用户组,组ID为1000 这样jenkins就有权限了
Jenkins安装maven
Jenkins安装nodejs 11
还要把.env.dev*文件传到docker/项目/
出现报错 DOCKERFILE要加 -y
Jenkins配置:配置git账号密码
安装插件
配置maven,node
创建流水线任务:
Gitlab设置禁用账号注册
Jenkins权限控制
安装权限插件
增加角色
给前端组分配构建,和读的权限
给test用户设置可管理的视图
Jenkins的免密远端发布
目标服务器的环境一开始是这样,空的
进入发送服务器。
在docker环境下,
docker exec -it jenkins sh
进入到家目录
cd ~
cd .ssh
如果 cd .ssh报错找不到目录,无视它。执行下面的 ssh-keygen -t rsa -P “” 后就会生成
正常也是没文件,生成id_rsa id_rsa.pub known_hosts
ssh-keygen -t rsa -P “”
发送jenkins的pub
scp id_rsa.pub root@192.168.1.128:/root
非22端口的发送方式:scp -P 62222 /data/web/* root@192.168.2.12:/home/test/
到目标服务器,进入/root,把刚发送的pub写入到.ssh/authorized_keys里
cat id_rsa.pub >> .ssh/authorized_keys