1+ name : Deploy to Oracle Cloud Infrastructure
2+
3+ on :
4+ push :
5+ branches : [ main ]
6+
7+ jobs :
8+ build-and-deploy :
9+ runs-on : ubuntu-latest
10+
11+ steps :
12+ - name : Checkout code
13+ uses : actions/checkout@v3
14+
15+ - name : Set up Docker Buildx
16+ uses : docker/setup-buildx-action@v2
17+
18+ - name : Login to Oracle Cloud Infrastructure Registry
19+ uses : docker/login-action@v2
20+ with :
21+ registry : ${{ secrets.OCI_REGISTRY }}
22+ username : ${{ secrets.OCI_USERNAME }}
23+ password : ${{ secrets.OCI_AUTH_TOKEN }}
24+
25+ - name : Build and push Docker image
26+ uses : docker/build-push-action@v4
27+ with :
28+ context : .
29+ push : true
30+ tags : ${{ secrets.OCI_REGISTRY }}/${{ secrets.OCI_NAMESPACE }}/adminhubapi:${{ github.sha }}
31+
32+ - name : Install OCI CLI
33+ run : |
34+ curl -L -O https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh
35+ chmod +x install.sh
36+ ./install.sh --accept-all-defaults
37+ echo "$HOME/lib/oracle-cli/bin" >> $GITHUB_PATH
38+
39+ - name : Configure OCI CLI
40+ run : |
41+ mkdir -p ~/.oci
42+ echo "${{ secrets.OCI_CONFIG }}" > ~/.oci/config
43+ echo "${{ secrets.OCI_KEY }}" > ~/.oci/key.pem
44+ chmod 600 ~/.oci/key.pem
45+
46+ - name : Deploy to OCI Container Instance
47+ run : |
48+ oci container-instances create \
49+ --compartment-id ${{ secrets.OCI_COMPARTMENT_ID }} \
50+ --availability-domain ${{ secrets.OCI_AVAILABILITY_DOMAIN }} \
51+ --shape ${{ secrets.OCI_SHAPE }} \
52+ --container-restart-policy ALWAYS \
53+ --containers '[{"image":"${{ secrets.OCI_REGISTRY }}/${{ secrets.OCI_NAMESPACE }}/adminhubapi:${{ github.sha }}","displayName":"adminhubapi"}]'
0 commit comments