由于没有vm虚拟机因此用docker代替
启动环境环境包括jenkins和带有ssh的centos
#目录结构.├── docker-compose.yaml├── jenkins│ └── dockerfile└── nginx └── dockerfile#jenkins dockerfilecat jenkins/dockerfile FROM jenkinsci/blueoceanUSER rootRUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositoriesRUN apk add sshpassRUN ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsaRUN echo "HostKeyAlgorithms +ssh-dss" > ~/.ssh/config#nginx dockerfilecat nginx/dockerfile FROM kinogmt/centos-sshRUN echo "qq" | passwd root --stdin > /dev/null 2>&1#编译docker-compose build #启动服务docker-compose up -d #测试jenkins是否能ssh连接到nginx容器docker exec -it jenkins /bin/sh -c "sshpass -p qq ssh root@nginx ls -l"total 20-rw------- 1 root root 3172 Aug 19 2015 anaconda-ks.cfg-rw-r--r-- 1 root root 21 Feb 5 13:06 hosts-rw-r--r-- 1 root root 7214 Aug 19 2015 install.log-rw-r--r-- 1 root root 1680 Aug 19 2015 install.log.syslog
操作以上操作已经完成了jenkins的启动和jenkins通过ssh方式连接到nginx容器内部
jenkins初始化和安装插件#进入容器内部docker exec -it jenkins /bin/bash#把密码复制过来cat /var/jenkins_home/secrets/initialAdminPassword
设置密码之后jenkins就安装完毕了,如果需要持久化请-v 把家目录挂载啊出来
安装node插件
完成后重启
进入容器内部安装nginx
安装nginx登录nginx服务器安装nginx,为了方便这次就不用源码编译安装了直接无脑yum,主要是为了看到效果
#俺咋混个yum -y install nginx#启动nginx#创建一个验证页面 echo hello wolrd >/usr/share/nginx/html/hello.html
访问nginx
配置pipeline进行ci打包
登录jenkins服务器安装jenkins和ansible
pipeline{ agent any parameters { string(name: 'Version_node', defaultValue: 'NodeJS 14.15.5', description: 'node版本') } tools {nodejs "${Version_node}"} stages { stage('Checkout') { steps { git 'https://gitee.com/huangchengwu/hello-world-vue.git' } } stage('package') { steps { sh 'npm -v' sh 'node -v ' sh 'npm install' sh 'npm run build' } } stage('deploy') { steps { sh 'ls -l' } } } post { success { echo '执行成功' } failure{ echo '执行失败' } } }
本来想用ansible-playbook实现cd部分
为了简单以下使用命令shell实现