Blog oficial para desenvolvedores que falam português
Cloud Source Repositories: mais do que um simples repositório privado no Git
6/27/18
De Nikhil Kaul, gerente de marketing de produtos
Se o seu objeto é lançar software o tempo todo em alta velocidade, é preciso compilar, testar, implementar e depurar as alterações do seu código automaticamente e em questão de minutos. Mas, primeiro, você precisa integrar seus sistemas de controle de versão e suas ferramentas de compilação, implementação e depuração. Isso é um processo complicado, demorado e que exige bastante trabalho de configuração manual, como baixar plug-ins e configurar webhooks. E quando tiver com tudo pronto, o fluxo de trabalho ainda vai precisar ser mais bem integrado, forçando os desenvolvedores a pular de uma ferramenta para outra no caminho do desenvolvimento até a implementação. E isso acaba com a alta velocidade.
O
Cloud Source Repositories
, que é um repositório Git privado totalmente gerenciado hospedado no
Google Cloud Platform
(GCP), tem integração completa com outras ferramentas do GCP, o que facilita muito a compilação, o teste, a implementação e a depuração automáticos de código desde o início. Com alguns poucos cliques e nenhuma configuração ou ajuste adicional, você pode ampliar o Cloud Source Repositories com outras ferramentas do GCP para realizar outras tarefas dentro do seu fluxo de desenvolvimento. Nesta postagem, vamos analisar mais a fundo algumas das ferramentas do GCP que têm integração com o Cloud Source Repositories e como elas simplificam os fluxos de trabalho do desenvolvedor:
Integração contínua (CI) simplificada com Container Builder
Quer implementar integração contínua e validar cada verificação de um repositório compartilhado com compilação e teste automáticos? A integração do Cloud Source Repositories com o
Container Builder
é bastante útil nesse caso, facilitando a criação de uma CI em um branch ou tag. Você não precisa configurar nenhum servidor de CI nem repositórios. Na verdade, é possível aplicar um processo de CI a um repositório novo ou que já existe no Cloud Source Repositories. Basta especificar o fator acionador com base no qual o Container Builder deve compilar a imagem. No exemplo a seguir, o fator acionador especifica que uma compilação será executada quando qualquer branch do Cloud Source Repositories sofrer alterações.
Para demonstrar esse acionador funcionando, o exemplo abaixo muda a cor de fundo do site "Hello World" de amarelo para azul.
O primeiro passo envolve definir azul como a cor de fundo usando a propriedade CSS "background-color". Depois, você precisa adicionar o arquivo alterado ao índice usando um comando "git add" e registrando as alterações ao repositório com "git commit". Depois, as alterações são enviadas ao servidor remoto usando "git push".
Por causa do acionador definido acima, uma compilação automática é realizada assim que as alterações são enviadas ao Cloud Source Repositories. O Container Builder começa a compilar a imagem automaticamente com base nas alterações. Quando a imagem é criada, a nova versão do aplicativo é implementada usando "kubectl set image". As novas alterações são refletidas, e o site "Hello World" passa a ter fundo azul.
Siga esse
guia rápido
para começar a usar integração contínua com o Container Builder e o Cloud Source Repositories.
Ferramentas pré-instaladas e linguagens de programação do Cloud Shell e do Cloud Shell Editor
O Cloud Source Repositories já é integrado com o
Cloud Shell
e o
Cloud Shell Editor
por padrão. O Cloud Shell fornece acesso à linha de comando via navegador, dando a você uma forma fácil de compilar e implementar aplicativos. Ele já vem configurado com ferramentas comuns, como o cliente MySql, o Kubernetes e o Docker, além de Java, Go, Python, Node.js, PHP e Ruby. Isso evita que você perca tempo procurando as dependências mais recentes ou instalando programas. O Cloud Editor, por sua vez, atua como um ambiente de desenvolvimento integrado multiplataforma para editar código sem precisar de configuração.
Implementação rápida no App Engine
Com a integração do Cloud Source Repositories e do
App Engine
, publicar aplicativos é moleza. Ela dá a você um meio de implementar aplicativos com rapidez, permitindo que os desenvolvedores se concentrem só em programar, sem pensar em gerenciar a infraestrutura envolvida nem em dimensionar o aplicativo quando ele precisar crescer. Você pode implementar código-fonte armazenado no Cloud Source Repositories no App Engine com o comando "gcloud app deploy", que compila uma imagem e a implementa no ambiente flexível do App Engine automaticamente. Vamos ver tudo funcionando.
No exemplo a seguir, vamos trocar o texto "Hello Universe" do site por "Hello World" antes de implementarmos. Como no exemplo anterior, "git add" e "git commit" ajudam a organizar e aplicar os arquivos organizados ao Cloud Source Repositories. Depois, o comando "git push" envia as alterações ao branch principal.
Quando as alterações forem enviadas ao Cloud Source Repositories, você vai poder implementar a nova versão do aplicativo executando o comando "gcloud app deploy" na pasta em que o arquivo app.yaml está.
Assim, o texto "Hello Universe" vira "Hello, World!".
Tente implementar código armazenado no Cloud Source Repositories no App Engine usando
este
guia rápido.
Depuração em fase de produção com o Stackdriver Debugger
Se o seu aplicativo está rodando na fase de produção e tem problemas, você precisa detectar e resolver os problemas rápido para evitar experiências ruins aos seus clientes. Para depurar aplicativos em fase de produção, criar pontos de interrupção não é uma boa opção, porque você não pode suspender o programa. Para ajudar a localizar a causa raiz dos problemas de produção rapidamente, o Cloud Source Repositories tem integração com o
Stackdriver Debugger
e, com ela, você pode depurar aplicativos em fase de produção sem parar ou desacelerar o aplicativo.
O Stackdriver Debugger permite usar um retrato instantâneo da depuração ou um logpoint de depuração para depurar aplicativos em fase de produção. O retrato de depuração captura a pilha de chamadas e variáveis no local do código especificado na primeira vez que uma instância desse código é executada. O logpoint de depuração, por outro lado, grava as mensagens de registro no fluxo de registros. Você pode escolher o retrato de depuração ou um logpoint de depuração para os códigos armazenados no Cloud Source Repositories com um único clique.
Retrato de depuração
No exemplo a seguir, um retrato foi criado para a segunda linha de código na função "get" da classe "MainPage".
O painel à direita mostra detalhes, como a pilha de chamada e o valor das variáveis locais em escopo, quando o retrato criado acima é atingido.
Saiba mais sobre depuração em fase de produção acompanhando
este
guia rápido.
Logpoint de depuração
A integração do Stackdriver com o Cloud Source Repositories também permite injetar declarações de geração de registros sem reiniciar o aplicativo. Com ela, você pode armazenar, buscar, analisar, monitorar e alertar sobre dados e eventos de registro. Vamos ver um exemplo. Uma declaração de geração de registros do código acima é destacada abaixo.
O painel de registros destaca os registros gerados pelo logpoint.
Controle de versões com o Cloud Functions
Se você está criando um aplicativo sem servidor, vai adorar saber que o Cloud Source Repositories também tem integração com o
Cloud Functions
. Você pode armazenar o código-fonte da sua função no Cloud Source Repositories e referenciá-la nos aplicativos sem servidor baseados em eventos. O código armazenado no Cloud Source Repositories também pode ser implementado em resposta a acionadores específicos, que variam de
HTTP
,
Cloud Pub/Sub
e
muitos outros
. As alterações feitas no código-fonte da função são monitoradas automaticamente com o tempo, com isso você pode retornar qualquer repositório ao estado anterior.
No exemplo abaixo, a função "helloworld" é implementada por uma solicitação HTTP. O local do código-fonte da função pode ser encontrado na pasta raiz do repositório do Cloud Source.
Se quiser saber mais sobre código-fonte de funções armazenado no Cloud Source Repositories, acesse
este
guia rápido.
Resumindo, a integração do Cloud Source Repositories com outras ferramentas do Google Cloud dá à sua equipe a chance de passar da fase de desenvolvimento à fase de implementação em minutos, tudo isso com gerenciamento de versões e alias. Você ainda pode executar depuração de fase de produção em tempo real usando as ferramentas de registro de monitoramento incorporadas. Experimente o Cloud Source Repositories com todas essas integrações
aqui
.
Labels
+page
1
20th Century Fox
1
A/B
1
Action
1
Action Console
1
Actions
3
Actions Console
1
Actions on Google
1
ActiveQA
1
Adaptive Battery
1
AddThis
1
ADK
1
ADL
1
Admin do Firebase
1
AdMob
6
Ads
2
AdWords
1
AdX
1
AI
4
algoritmo
1
AMP
6
AMP Linker
1
AMP Project
1
Analytics API
1
Android
58
Android 8.0 Oreo
1
Android 8.1
1
Android ADK
2
Android API
2
Android App Bundle
1
Android Dev Summit
1
Android Developers
23
Android Marshmallow
1
Android N
3
Android Nougat
2
Android P
3
Android P Beta 2
1
Android Preview
1
Android SDK
1
android studio
8
Android Studio 3.2
1
android wear
2
AndroidDev
6
AndroidX
1
Announcement
2
AoG
1
AoGDevs
1
api
15
API 25
1
API 28
1
APIs
4
Aplicativos
4
app
1
App Engine
1
Apple
1
apply
1
Apps
9
AR
1
ARCore
3
artificial intelligence
1
AsyncTask
1
AUC
1
AutoAugment
1
Avro
1
Awareness API
1
Biblioteca do Google
1
Big Data
1
BigQuery
1
BiometricPrompt
1
bitcode
1
Borg
1
Bot
1
bytecode Dalvik
1
C++
1
câmera
1
CameraDevice
1
Canal Beta
1
canary
1
câncer de próstata
1
Capital One
1
Cast
1
CFI
1
Chrome
8
Chrome 68
1
Chrome Dev Summit
1
Chrome DevTools
1
Chrome OS
2
Chromecast
1
Chromium
2
CI
1
CLI
1
Cloud
6
Cloud Computing
1
Cloud Console
1
Cloud Dataflow
1
Cloud Developers
2
Cloud DLP
1
Cloud Firestore
1
Cloud Messaging
1
Cloud ML Engine
1
Cloud Scheduler
1
Cloud Shell
1
Cloud Source Repositories
1
Cloud Spanner
2
CodeSchool
1
código aberto
2
Compute Engine
1
ConfigMap
1
Container Builder
1
CPU
2
Crash Reporting
2
Crashlytics
3
credential api
1
criptografia
1
CSS
3
CSS Grid Layout
1
CSV
1
CTA
1
Curitiba
1
Dart API
1
Data Validation
1
DBAs
1
DCGAN
1
Desenvolvedores Google
11
Desenvolvimento
3
DevBusBrasil
1
DevBytes
2
Developer Bus
1
Developer Preview
1
developer quiz
1
DevFest
3
DevFest16
1
DevFest18
1
DevFestW
1
DFP
2
Dialogflow
1
DLP
1
DLS
1
documentação
1
Dragon Ball Legends
1
E2E
1
eclipse
1
end-to-end-encryption
1
Estimator
1
Estimators API
1
estudantes
1
Eventos
15
Famílias multilíngue
1
FCM
2
Featured
1
Firebase
24
Firebase Analytics
6
Firebase App Indexing
2
Firebase Cloud Messaging
5
Firebase Crashlytics
2
Firebase Dynamic Links
3
Firebase In-App Messaging
1
Firebase Invites
2
Firebase Lab
1
Firebase Links Dinamicos
1
Firebase Notifications
3
Firebase Remote Config
1
Flutter
3
FRR
1
G+
1
game
1
game dev
3
Games
2
games services
1
GCloud
3
GCM
1
GCP
7
GDD
7
GDE
1
GDEs
1
GDG
12
GDG Curitiba
1
GDG Floripa
1
GDG OpenSampa
1
GDG Porto Alegre
1
GDG Recife
1
GDG SP
3
GDGs
1
GDL
1
Git
1
GitHub
1
GNMT
1
Google
3
Google Ad Manager
1
Google AI
1
Google Analytics
1
Google Assistant
1
Google Assistente
3
Google Brain
2
Google Cast SDK
1
google clou
1
Google Cloud
17
Google Cloud Certified
1
Google Cloud Healthcare API
1
Google Cloud Platform
3
google code-in
1
Google Developer Advocate
1
Google Developer Expert
1
Google Developers
11
Google Fotos
1
Google I/O
6
Google Play
16
Google Play Games services
1
Google Play Protect
1
Google Play Services
4
Google Slides
1
Google Speech
1
google summer of code
1
Google+
2
Google+ sign-in
1
Googlers
1
GPU
2
GSuites
1
GUI
1
Hackathon
1
Hangouts
1
Hangouts Chat
1
HDR
1
High Quality Apps
2
HTML5
6
HTTP
3
HTTPS
2
HttpURLConnection
2
I/O
1
IA
2
Illusive Images
1
ImageReader
1
In-App Messaging
1
Inglês
1
Instant Apps
1
inteligencia artificial
1
IntelliJ REPL
1
IntentService
1
Interoperabilidade
1
IO Extended
1
IO13
1
iOS
9
IU
2
Java
1
Java 8
1
javascript
2
JPEG
1
JSON
2
Kaggle
1
kernel
1
Keyboard Map API
1
Knowledge Connectors
1
Kotlin
6
Kotlin da Udacity
1
Kubernetes
5
LangID
1
Launchpad
1
launchpad accelerator
2
Learning Augmentation
1
LEGO
1
Listas
1
ListFragment
1
LLVM
1
LTO
1
Machine Learning
2
Meetup
2
mensagens
1
Mentoria
1
Messaging
2
microsserviços
1
ML
2
ML Kit
1
Mobile
3
Mobile Ads SDK
1
Monetização
3
Monetize
3
MySQL
1
Native
1
Navigation Architecture Component
1
NES
1
Neto Marin
2
Next Level Apps
2
Next Level Tips
2
NNLM
1
Node.js
2
Notificações
1
novembro azul
1
Number Genie
1
Nuvem Profissional
1
OAuth
2
OAuth2
1
Open Images Extended
1
open source
3
Options Menu
1
Options Menu virtual
1
Orkut
2
Payment Request
1
pesquisa
1
PHA
1
Phone Gateway
1
PII
1
pixel
1
Play Academy
1
Play Console
1
Play Services
1
Playtime 2018
1
plug-in AMP
1
Porto Alegre
1
Preact
1
PRIV
1
program
1
progressive web apps
2
Push Notification
2
Python
1
QA
1
RA
2
Raspberry Pi
1
RBDMS
1
React
1
recording apis
1
remarketing
1
Remote Config
2
research
4
ResultReceiver
1
reward
1
RNN
2
Robolectric 4.0
1
RV
1
Sceneform
1
SDK
4
SDK Manager
3
Security
2
Server
1
service worker
1
sign-in
1
Sliding Tabs
1
Smartronix
1
social
6
Spark
1
SRE
1
Stack
1
Stack Overflow
1
Startups
2
Storage
2
story
1
Support Library
1
SurfaceView
1
Svelte
1
switch
1
Tag Manager
1
Tag Manager 360
1
tensorflow
5
TensorFlow Hub
2
TensorFlow Lite
1
TensorFlow Transform
1
Test Lab
2
Testes
1
TF Hub
2
tf.keras
1
TFDV
1
TFX
1
TI essencial
1
toolkit
1
tradução
1
TTS
1
Udacity
1
Universal Apps
1
Universal Sentence Encoder
1
user experience
1
ux
1
VectorDrawable
1
Velostrata
1
Volley
1
vr
2
vulnerabilidades
1
vulnerabilidades do Google
1
vulnerability
1
web
2
web dev
2
WebKit
1
webservice
3
when
1
WordPress
1
WorkerDOM
1
YouTube
4
YouTube API
1
YUV
1
Zomato
1
Archive
2022
Nov
Oct
Jul
Jun
May
Apr
Mar
Feb
Jan
2021
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2020
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2019
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
2018
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
2017
Aug
Jul
Jun
May
Apr
Mar
Jan
2016
Dec
Nov
Oct
Sep
Aug
Jul
May
Mar
2014
Jul
Jun
Apr
Mar
Feb
2013
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Mar
Feb
Jan
2012
Nov
Jul
Jun
May
Apr
Mar
2011
Nov
Sep
Aug
Jul
Jun
Feed
Follow @googledevbr