Postgres搭建

考虑到Drone和Sonarqube等都需要借助Postgres存储,为了保证CI服务的高效的工作,将考虑独立其中依赖的数据库,避免在繁忙时占用过多资源从而影响整体CI的速度。

一、 CentOS设置

1. 更换阿里源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum makecache

2. 安装网络工具

yum install net-tools -y

3. 使用阿里NTP服务

yum install chrony -y

sed -i "/server/d" /etc/chrony.conf

vi /etc/chrony.conf 增加 server ntp.aliyun.com iburst

systemctl restart chronyd

chronyc tracking

4. 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

二、 安装Docker-CE

1. 安装依赖包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

2. 设置仓库

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3. 安装Docker

sudo yum install -y docker-ce docker-ce-cli containerd.io

4. 启动并设置自启动

sudo systemctl start docker

sudo systemctl enable docker

5. 设置加速器

vi /etc/docker/daemon.json 添加如下内容

{
"registry-mirrors": ["https://harbor.vip56.cn"]
} sudo systemctl restart docker

三、 安装Postgres

1. 下载镜像包

官方仓库地址

docker pull postgres:10.11

如果下载比较慢,可以利用公司内部的仓库harbor.vip56.cn/common/postgres:10.11

2. 启动指令

docker run -d -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=123456 -v /my/own/datadir:/var/lib/postgresql/data --name postgres --restart=always postgres:10.11

3. 使用Web ui

具体方式可以参考本文档

docker run -d -p 80:80 -e PGADMIN_DEFAULT_EMAIL=admin@domain.com -e PGADMIN_DEFAULT_PASSWORD=sino5802486 --name pgadmin --restart=always dpage/pgadmin4:4.15

四、 Drone改用pg

由于Drone默认使用SQLite进行存储,在部分场景下并不能提供有效的支持,为此我们需要将其存储修改为其他方式。

1. 迁移数据

由于基于SQLite进行存储了一定的数据,为了保证数据0丢失,这里我们需要借助其他工具进行迁移,这里可以参考pgloader进行迁移,主要指令如下:

pgloader ./test/sqlite/sqlite.db postgresql:///newdb

注意,由于默认官网的可能存在部分设置问题这里可用使用优化过的镜像dimitri/pgloader:ccl.latest,然后进入容器中执行如下示例的语句:

pgloader /data/database.sqlite postgresql://[username]:[password]@[host]:5432/drone?sslmode=disable

2. 调整Drone配置

由于Drone采用Docker进行部署,所以我们需要增加额外的环境变量即可使用:

DRONE_DATABASE_DRIVER=postgres
DRONE_DATABASE_DATASOURCE=postgres://root:password@1.2.3.4:5432/postgres?sslmode=disable

完成以上配置后启动Drone服务,可以看到对应的数据库已经采用postgres了。

五、 SonarQube存储修改

由于SonarQube本身就已经使用postgres存储了,所以数据可以直接进行迁移,完成迁移后对应修改如下:

vi /conf/sonar.properties

sonar.jdbc.username=sonar
sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:postgresql://localhost/sonar

完成后重启服务即可

Postgres 10.11安装教程的更多相关文章

  1. arcgis 10.2 安装教程

    arcgis 10.2 安装教程(含下载地址)_百度经验 http://jingyan.baidu.com/article/fc07f98911b66912ffe5199b.html arcgis 1 ...

  2. 黑苹果macOS Sierra 10.12 安装教程(venue11 pro测试)

    黑苹果macOS Sierra 10.12 安装教程(venue11 pro测试) 2017-03-12 03:46:24 by SemiconductorKING PS:刚刚装好黑苹果,来记录一篇折 ...

  3. Adobe Audition CC 2017 (10.0)安装教程

    Adobe Audition CC 2017 (10.0)安装教程 注:下载地址在文章末尾 第一步:首先请将电脑的网络断开,很简单:禁用本地连接或者拔掉网线,这样就可以免除登录Creative Clo ...

  4. Mac OSX 10.11安装Jekyll

    一说常见的博客管理工具大家想到的就是WordPress.不过现在部分个人博客用户开始从WordPress转移到Jekyll上了.Jekyll是一种本地生成静态页面进而线上发布的博客工具,而且现在已经有 ...

  5. [原创]Mac系统下制作OS 10.11安装镜像

    一.所需软件 1.从App Store下载OS X El Capitan 10.11.2 ------------------------------------------------------- ...

  6. 10.11 安装pod

    原文地址:http://www.jianshu.com/p/5fc15906c53a  感谢. 更新升级10.11 cocoapods安装出问题最简单的解决方法 这是因为10.11把cocoapods ...

  7. Apache 2.4.16、PHP5.6.11安装教程

    以前我写过Apache2.4和php5.5的安装教程,但是后来我自己跟着自己写的东西做时发现有很多问题,这里把这些问题重新修正,再写一个教程,供大家参考. 注意:WinXP系统请选择旧版本Apache ...

  8. VMware Workstation 10 简体中文安装教程

    分享到 一键分享 QQ空间 新浪微博 百度云收藏 人人网 腾讯微博 百度相册 开心网 腾讯朋友 百度贴吧 豆瓣网 搜狐微博 百度新首页 QQ好友 和讯微博 更多... 百度分享 分享到 一键分享 QQ ...

  9. macOS 10.11.* 安装scrapy

    1.安装brew,然后修改brew源为某高校 2.更新python brew install python 3.安装pip 4.安装scrapy,这里肯定会有一个坑,之前在网上看到10.11开启了什么 ...

随机推荐

  1. oracle数据处理之sql loader(三)

    数据装载 sql loader(PPT-I-490-498) 14.1 sql*loader:将外部数据(比如文本型)数据导入oracle database.(用于数据导入.不同类型数据库数据迁移) ...

  2. 记录一次OCR程序开发的尝试

    记录一次OCR程序开发的尝试 最近工作中涉及到一部分文档和纸质文档的校验工作,就想把纸质文件拍下来,用文字来互相校验.想到之前调用有道智云接口做了文档翻译.看了下OCR文字识别的API接口,有道提供了 ...

  3. [POJ1050]To the Max(最大子段和)

    题目链接 http://poj.org/problem?id=1050 题意 求最大子矩阵和. 题解 即求二维的最大子段和.二维数组sumRec[I][j]存储原始数组数据rec[0][j] to r ...

  4. Proxy使用详解

    文档:Proxy 基本使用就不赘述,看文档即可 通用 1.Proxy可以包装任何形式的对象:包括原生数组,函数,甚至另一个代理 2.代理实例中没有指定的handler,实际就是操作原对象target: ...

  5. JavaScript 流程控制-循环

    1.循环 循环目的 在实际问题中,有许多具有规律性的重复操作,因此在程序中要完成这类操作就需要重复执行某些语句 JS中的循环 在JS中,主要有三种类型的循环语句: for循环 while循环 do.. ...

  6. (专题四)06 matlab绘图选项卡

    绘图选项卡 例子1--选择已有变量,绘制图形 都是按照选中的先后顺序依次确定坐标, 如果要修改绘制图形 法一,利用绘图工具和停靠图形按钮 法二,命令行窗口中输入命令 >>plottools ...

  7. 《Java核心技术卷一》之 泛型

    一.引言 在学习集合的时候我们会发现一个问题,将一个对象丢到集合中后,集合并不记住对象的类型,统统都当做Object处理,这样我们取出来再使用时就得强制转换类型,导致代码臃肿,而且加入集合时都是以Ob ...

  8. spring-dao.xml通常写法

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  9. 基于bellman-ford算法使用队列优化的spfa求最短路O(m),最坏O(n*m)

    acwing851-spfa求最短路 #include<iostream> #include<cstring> #include<algorithm> #inclu ...

  10. SQL Server 2008 R2执行存储过程sp_MailItemResultSets引起大量PREEMPTIVE_OS_WAITFORSINGLEOBJEC等待

      从监控工具DPA中发现一个数据库(SQL Server 2008 R2)的等待事件突然彪增,下钻分析发现数据库执行存储过程sp_MailItemResultSets时,引起了非常严重的等待(Hig ...