欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

docker+jenkins+阿里云容器服务自动化部署

程序员文章站 2022-04-18 20:54:05
...

一、在服务器上安装docker

请参考我的这篇文章:ubuntu16.04中下载安装docker

二、在阿里云容器服务构建镜像

1、进入阿里云容器镜像服务

地址:容器镜像服务
根据文档先创建一个命令空间,然后就可以创建一个你项目的镜像仓库了
docker+jenkins+阿里云容器服务自动化部署
根据提示创建完镜像仓库,然后进入构建,并添加规则
docker+jenkins+阿里云容器服务自动化部署
docker+jenkins+阿里云容器服务自动化部署
这里的Dockerfile是你的项目根目录下的Dockerfile,文件名一定要相同。镜像版本根据自己情况写。
然后就可以点击立即构建来构建镜像了。

三、在服务器上安装Jenkins(我的是ubuntu)

1、安装java环境

Jenkins基于Java, 所以需要先安装java。
首先,在windows下载好jdk1.8,然后通过ftp上传到服务器
解压java到相应目录,我一般习惯把安装的软件放到目录/usr/local下。

tar -zxvf jdk-8u181-linux-x64.tar.gz /usr/local
编辑环境变量,在/etc/profile文件中添加环境变量,Linux的所有用户都可以使用。

vim /etc/profile
在文件最后添加内容如下:

JAVA_HOME=/usr/local/java/jdk1.8.0_181
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH

重新加载环境变量的配置文件:source /etc/profile
输入以下命令,显示如图,则表示安装成功。
docker+jenkins+阿里云容器服务自动化部署

2、安装Jenkins

包含在默认Ubuntu软件包中的Jenkins版本往往落后于项目本身的最新版本。 为了利用最新的修复和功能,我们将使用项目维护的软件包来安装Jenkins。

1)首先,我们将存储库**添加到系统。
wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -

2)添加**后,系统将返回OK 。 接下来,我们将Debian包存储库地址附加到服务器的sources.list
echo deb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list

3)当这两个都到位时,我们将运行update ,以便apt-get将使用新的存储库:
sudo apt-get update

4)最后,我们将安装Jenkins及其依赖项:
sudo apt-get install jenkins

如果启动时遇到报错ERROR:
No Java executable found in current PATH: /bin:/usr/bin:/sbin:/usr/sbin
需要给java路径建立一个软链接
ln -s /usr/local/jdk1.8/bin/java(换成对应你自己的) /usr/bin/java

3、安装简介

通过上面的安装

1)Jenkins将作为一个Linux守护进程
2)创建一个名为Jenkins的Linux用户
3)生成日志文件 /var/log/jenkins/jenkins.log
4)Jenkins 默认端口是8080,在配置文件/etc/default/jenkins中可以修改。

4、设置Jenkins

使用服务器域名或IP地址访问Jenkins的默认端口8080:http:// ip_address_or_domain_name :8080

我们应该看到“解锁Jenkins”屏幕,需要输入密码
回到服务器中,输入以下命令查看初始密码:cat /var/log/jenkins/jenkins.log
复制日志中的32位字符串到jenkins解锁窗口中,然后下一步点击“安装建议的插件”选项,等待插件的安装

安装完成后,系统将提示您设置第一个管理用户。 可以跳过此步骤,并使用上面使用的初始密码作为admin继续,但是我们将花一点时间创建用户。
创建完用户后,我们的jenkins就安装好了。
docker+jenkins+阿里云容器服务自动化部署

5、新建任务

点击新建任务,然后选择流水线任务
docker+jenkins+阿里云容器服务自动化部署
进入任务配置,写写一个描述,然后选择github项目,并输入github项目地址
docker+jenkins+阿里云容器服务自动化部署
然后根据项目输入pipeline脚本:
docker+jenkins+阿里云容器服务自动化部署

pipeline脚本:

pipeline {
  agent any
  stages {
    stage('启动前准备') {
      steps {
        echo 'remove image'
        // 停止容器
        sh 'docker stop canary(启动时重命名的镜像名)'
        // 删除容器
        sh 'docker rm canary'
        // 删除镜像
        sh 'docker rmi 从阿里云容器服务获取的镜像名(记得带上版本)'
      }
    }
    stage('获取镜像') {
      steps {
        echo 'get image'
        sh 'docker login --username=阿里云账号名 registry.cn-hangzhou.aliyuncs.com --password=阿里云密码'
        sh 'docker pull 从阿里云容器服务获取的镜像名(记得带上版本)'
      }
    }
    stage('启动服务') {
      steps {
        echo 'start simple-beauty-front'
        sh 'docker run -d -p 8081(启动时的服务器端口):80(启动时的容器暴露端口) --name canary(重命名) -e VIRTUAL_HOST=(域名) 从阿里云容器服务获取的镜像名(记得带上版本)'
      }
    }
  }
}
相关标签: docker jenkins