MinIO – High Performance Object Storage

MinIO is a High Performance Object Storage released under Apache License v2.0. It is API compatible with Amazon S3 cloud storage service. Use MinIO to build high performance infrastructure for machine learning, analytics and application data workloads.

  • MinIO – Quickstart Guide

https://github.com/minio/minio

  • MinIO – Docs

https://github.com/minio/minio/tree/master/docs

  • MinIO – docker-compose.yml
version: '3.2'

services:
  minio:
     image: minio/minio
     ports:
       - "9000:9000"
     environment:
       MINIO_ACCESS_KEY: Z2FpWWlQYUNoYXIwb2F5
       MINIO_SECRET_KEY: RXNhZURldThhaXNlcGhpYm9vMGFoZ2g5QWVzNWFj
     volumes:
       - files:/data
     command: server /data

volumes:
  files:

Jenkins e Caddy – Docker

  • Jenkins Pipeline Examples
    https://jenkins.io/doc/pipeline/examples/
  • Jenkins Continuous Integration and Delivery server
    https://github.com/shazChaudhry/docker-jenkins/blob/ee0f386fd1706829b956cb2e723c0f2935496933/Dockerfile
  • Using Docker-in-Docker for your CI or testing environment?
    http://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/
  • Parallel stages with Declarative Pipeline 1.2
    https://jenkins.io/blog/2017/09/25/declarative-1/
  • Jenkins – Plugin Job Cacher
    https://plugins.jenkins.io/jobcacher
docker run -d --privileged --group-add 129 -v jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
docker run -d --privileged --group-add $(getent group docker |awk -F ":" '{  -v jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -p 8080:8080 -p 50000:50000 jenkins/jenkins:ltsprint $3 }')

=-= pensar =-=
* auto apagar workspace
* job nao cancela
* cache compartilhado fora da workspace

Migrando e Instalando GitLab

Neste documento vamos migrar um GitLab do tipo CE / Edição 9.5.3 , porem outros tipos/edições podem ser utilizadas

Servidor antigo (192.168.0.x)

$ sudo gitlab-rake gitlab:backup:create

Em nosso exemplo, dentro da pasta /var/opt/giblab/backups do servidor antigo, foi criado um arquivo com o nome  1519781652_2018_02_27_9.5.3_gitlab_backup.tar

Copie o arquivo 1519781652_2018_02_27_9.5.3_gitlab_backup.tar para o novo servidor (IP 192.168.0.y) . Em nosso caso usamos o comando scp para copiar usando SSH com usuario chamado user_ssh.

$ sudo scp /var/opt/giblab/backups/1519781652_2018_02_27_9.5.3_gitlab_backup.tar user_ssh@192.168.0.y:/var/opt/giblab/backups

Também copie os arquivos /etc/gitlab/gitlab.rb e /etc/gitlab/gitlab-secrets.json para o novo servidor usando os seguintes comandos:

$ sudo scp /etc/gitlab/gitlab.rb user_ssh@192.168.0.y:/etc/gitlab/gitlab.rb
$ sudo scp /etc/gitlab/gitlab-secrets.json user_ssh@192.168.0.y:/etc/gitlab/gitlab-secrets.json

Servidor novo (IP 192.168.0.y)

Primeiro etapa é a instalação do GitLab correto. É necessário escolher para a instalação o mesmo tipo (CE/EE) e a mesma versão para o backup poder ser restaurado corretamente.

Escolha abaixo o comando adequado para a instalação do GitLab de acordo com o sistema operacional de seu ambiente.

Comandos para instalar em servidor com Sistema Operacional Debian 9 (stretch):
$ curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
$ sudo apt-get install gitlab-ce=9.5.3-ce.0
$ gitlab-ctl reconfigure
Comandos para instalar em servidor com Sistema Operacional CentOS 7:
$ curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
$ sudo yum install gitlab-ce-9.5.3-ce.0.el7.x86_64
$ gitlab-ctl reconfigure
Abaixo os comandos para restaurar o backup criado no servidor antigo:
$ sudo gitlab-ctl stop unicorn
$ sudo gitlab-ctl stop sidekiq
$ sudo gitlab-rake gitlab:backup:restore BACKUP=1519781652_2018_02_27_9.5.3
$ sudo gitlab-ctl restart
$ sudo gitlab-rake gitlab:check SANITIZE=true

Referencias

Teste de desempenho em rede TCP/IP

Serão considerando dois Hosts (A e B) durante a realização deste teste. O objetivo deste teste é medir a taxa de transferência capaz de ser atingida pela conectividade que une estes dois Hosts.

Sera necessário instalar o utilitário netcat no Host A e no Host B, para isto execute o seguinte comando (como usuário administrador/root) em cada um dos hosts:

# apt install netcat-traditional

Execute no Host A (IPv4 192.168.0.1):

$ nc -l -p 12345

Execute no Host B (IPv4 192.168.0.2):

$ dd if=/dev/zero | nc 192.168.0.1 12345

Após executar o comando no Host B, aguarde ao menos de  1  a 2 minutos e realize um CTRL+C no Host B.

Resultado no Host B,  após 3 minutos:

4053175+0 registros de entrada
4053174+0 registros de saída
2075225088 bytes (2,1 GB) copiados, 182,638 s, 11,4 MB/s

A taxa de transferência obtida durante este teste foi de 11,4 MB/s.