[PT] Automatizando publicações em NetSuite
O NetSuite é uma poderosa plataforma de ERP (Planejamento de Recursos Empresariais) baseada em nuvem que ajuda as empresas a gerenciar suas finanças, operações e relacionamentos com os clientes. Como desenvolvedor que trabalha com o NetSuite, você provavelmente encontrará cenários em que precisa automatizar os deployments para diferentes ambientes, como Sandbox, Release e Produção. Neste artigo, exploraremos como alcançar implantações autônomas no NetSuite usando ferramentas populares de CI/CD como GitHub Actions ou GitLab CI, juntamente com a configuração YML, Suite CLI e TypeScript para compilar os arquivos.
Pré-requisitos:
Antes de mergulhar no processo de automação de deploy, certifique-se de ter os seguintes pré-requisitos configurados:
Uma conta de desenvolvedor do NetSuite
SDK do SuiteCloud instalado em sua máquina local (incluindo Suite CLI)
Conhecimento de TypeScript (opcional, mas benéfico para compilar os arquivos)
Automatizando os Deployments com YML e GitHub Actions ou GitLab CI:
Ferramentas de CI/CD como GitHub Actions e GitLab CI fornecem um excelente framework para automatizar os deployments de software. Ao utilizar o poder das configurações YML (YAML), você pode definir um conjunto de ações e etapas que serão executadas automaticamente quando um evento específico ocorrer, como um push para um determinado branch. As seções a seguir guiarão você pelo processo de configuração de implantações autônomas no NetSuite usando essas ferramentas.
Passo 1: Configurar Repositório e Variáveis de Ambiente
Crie um repositório para o seu projeto NetSuite no GitHub ou GitLab. Defina variáveis de ambiente para armazenar dados sensíveis, como credenciais e tokens do NetSuite, de forma segura. Essas variáveis podem ser acessadas pelo pipeline CI/CD durante o processo de deployment.
Passo 2: Configurar o Arquivo YML
Crie um arquivo YML (por exemplo, .github/workflows/netsuite-deploy.yml para GitHub Actions) para definir o fluxo de trabalho de deployment. O arquivo YML especificará as etapas de construção, dependências e configurações de implantação. Abaixo, temos um exemplo básico de um arquivo YML para o deployment do NetSuite:
name: NetSuite Deployment
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install Suite CLI
run: npm install -g @oracle/suitecloud-cli
run: npm install -g typescript
- name: Deploy to Sandbox
env:
NS_ACCOUNT: ${{ secrets.SANDBOX_ACCOUNT }}
NS_EMAIL: ${{ secrets.SANDBOX_EMAIL }}
NS_PASSWORD: ${{ secrets.SANDBOX_PASSWORD }}
NS_ROLEID: ${{ secrets.SANDBOX_ROLEID }}
NS_APPID: ${{ secrets.SANDBOX_APPID }}
run: |
tsc
suitecloud project:validate
suitecloud project:deploy
Este arquivo YML define um fluxo de trabalho que é acionado a cada push para o branch main. Ele implanta o projeto NetSuite nos ambientes Sandbox, Release e Produção. As variáveis de ambiente necessárias para cada ambiente são armazenadas com segurança em segredos do GitHub ou variáveis do GitLab CI/CD.
Note que o comando TSC irá compilar todos os scripts para o padrão JS, baseado no módulo AMD.
Passo 3: Utilizar TypeScript (Opcional)
Se o seu projeto NetSuite incluir arquivos TypeScript, você pode querer compilá-los antes do deploy para garantir que eles estejam no formato JavaScript. Você pode adicionar a etapa de compilação TypeScript antes do deployment no arquivo YML.
Automatizar os deployments no NetSuite usando o GitHub Actions ou GitLab CI com a configuração YML, Suite CLI e TypeScript para compilar os arquivos proporciona benefícios significativos para desenvolvedores e equipes. Com implantações autônomas em vários ambientes, como Sandbox, Release e Produção, você pode otimizar o processo de desenvolvimento e melhorar a colaboração. Ao adotar metodologias de CI/CD, você não apenas aumenta a produtividade, mas também garante que seus projetos NetSuite sejam entregues de forma consistente e confiável.
Lembre-se de tratar dados sensíveis, como credenciais do NetSuite, com cuidado e seguir as melhores práticas de CI/CD para manter um processo de deployment seguro e eficiente. Feliz automação!