Skip to content

Laboratório realizado na Campus Party 2019

License

Notifications You must be signed in to change notification settings

tfrigini/lab-campusparty2019

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevOpsLab-Pipeline

Demo para a criação de uma Pipeline DevOps usando uma aplicação "Hello World" Python/Flask fazendo deploy no Heroku.

Pré-Requisitos

Para fazer o laboratório você precisará ter:

Fluxo do Lab

  1. Vamos criar um Repositório no GitHub e subir uma aplicação "Hello World" em Python/Flask
  2. Vamos criar uma Pipeline no Travis-CI para fazer o Teste, Build e Deploy da nossa aplicação no Heroku
  3. Vamos criar uma APP no Heroku para hospedar nossa aplicação "Hello World"

Roteiro

Pré-Lab

  1. Clone o Repositório do Laboratório com todos os arquivos que iremos usar:
$ git clone https://github.com/gabydias/lab-campusparty2019.git

GitHub

  1. Criar um Repositório para sua aplicação "Hello World" no GitHub

  2. Opcional: Criar um Projeto no GitHub padrão Kanban para planejar seu Projeto

  3. Opcional: Colocar os Cards do que faremos no Lab

    a) Criar App Python

    b) Criar Teste Unitário

    c) Criar Pipeline no Travis

    d) Fazer Deploy no Heroku

    e) Criar Integração com o Sonar

  4. Clonar o Repositório da sua aplicação "Hello World" para começar a programar.

** Vamos considerar aqui que após clonar você tem uma pasta chamada helloworld , ou seja, toda vez que ver a pasta helloworld nos comandos troque para o nome do seu repositório.

  1. Copiar os arquivos da App Python para dentro do seu repositório
$ cp -a lab-campusparty2019/app/*  helloworld
  1. Realizar um Commit e enviar os novos arquivos para o GitHub
$ git status
$ git add .
$ git commit -m "First Commit - Python App"
$ git push origin master

Travis-CI

  1. Acessar o Travis-CI e conectar ao Repositório do Lab
  2. Criar o Arquivo Travis.yml usando o modelo travis.yml.0
$ cp -a lab-campusparty2019/travis/travis.yml.0  helloworld/.travis.yml
  1. Fazer o commit e push do novo arquivo e acompanhar o build no Travis-CI (é esperado dar erro)
$ git status
$ git add .
$ git commit -m "Add Travis-ci Pipeline"
$ git push origin master

Teste Unitário

  1. Inserir o arquivo test.py na raiz do seu repositório
$ cp -a lab-campusparty2019/test.py  helloworld/
  1. Substituir o arquivo do travis com o travis.yml.1 inserindo a seção de teste na hora do build
$ cp -a lab-campusparty2019/travis/travis.yml.1  helloworld/.travis.yml
  1. Fazer o commit e push e acompanhar o build no Travis (é esperado dar sucesso)
$ git status
$ git add .
$ git commit -m "Add Unittest"
$ git push origin master

Heroku

  1. Acesse sua conta no Heroku e crie um APP. Lembrando que o nome do APP tem que ser único.

  2. Copiar os arquivos Procfile e runtime.txt necessários para realizar o deploy no Heroku na raiz do seu repositório.

$ cp -a lab-campusparty2019/heroku/*  helloworld/
  1. Configurar o Travis-CI para fazer deploy no Heroku após build com sucesso. Para isso:

a) Substituir o arquivo do travis com o travis.yml.2 inserindo a seção de deploy após o build

$ cp -a lab-campusparty2019/travis/travis.yml.2  helloworld/.travis.yml

b) Alterar o nome da APP no arquivo .travis.yml com o nome da APP criada no passo 12

$ vim helloworld/.travis.yml
  app: COLOQUE_AQUI_SUA_APP_DO_HEROKU

c) Pegar a Key no Settings do Usuário do Heroku para configurar no Travis-CI

d) Colocar a key do Heroku no Travis por variável HEROKU_API_KEY

  1. Fazer o commit e push e acompanhar o build no Travis (é esperado dar sucesso)
$ git status
$ git add .
$ git commit -m "Add Heroku Deploy"
$ git push origin master
  1. Acesse sua aplicação através da URL que o Heroku irá informar após deploy concluído.

Opcional SonarCloud

  1. Acessa sua conta do SonarCloud e crie um Projeto
  2. Copiar o arquivo do Sonar necessário para realizar scan na raiz do seu repositório.
$ cp -a lab-campusparty2019/sonar/sonar-project.properties  helloworld/
  1. Preencha as informações do arquivo conforme o seu projeto no Sonar
$ vim sonar-project.properties
sonar.projectKey=COLOQUE_SUA_CHAVE
sonar.projectName=COLOQUE_O_NOME_DO_PROJETO
sonar.projectVersion=1.0
sonar.sources=.
sonar.language=py
sonar.sourceEncoding=UTF-8
  1. Fazer o commit e push e acompanhar o build no Travis (é esperado dar sucesso)
$ git status
$ git add .
$ git commit -m "Add SonarCloud Scanner"
$ git push origin master
  1. Acesse o Dashboard do SonarCloud para analisar seu código.

About

Laboratório realizado na Campus Party 2019

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages