diff --git a/.drone.yml b/.drone.yml index 273b0ce..94ff2b8 100755 --- a/.drone.yml +++ b/.drone.yml @@ -40,8 +40,28 @@ steps: volumes: - name: docker_sock path: /var/run/docker.sock -- name: Build and Push Container Image +- name: Build and Push (PR) Container Image image: plugins/docker + when: + branch: + - feature/* + settings: + username: + from_secret: DOCKER_USERNAME + password: + from_secret: DOCKER_PASSWORD + repo: gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio + registry: gitea.bsidesolutions.net + dockerfile: ./Dockerfile + force_tag: true + tags: + - latest + - pr-build-${replace("${DRONE_BRANCH}", "/", "-")} +- name: Build and Push (Staging) Container Image + image: plugins/docker + when: + branch: + - develop settings: username: from_secret: DOCKER_USERNAME @@ -54,56 +74,33 @@ steps: tags: - latest - dev - - dev-build-${DRONE_COMMIT_SHA:0:7} - - -# - name: deploy-staging -# image: plugins/ansible:latest -# settings: -# playbook: ansible/playbook.staging.yml -# galaxy: ansible/requirements.yml -# inventory: ansible/inventory.yml -# become_user: bside -# user: bside -# verbose: 4 -# become: true -# list_tasks: true -# list_hosts: true -# private_key: -# from_secret: STAGING_SERVER_PRIVATE_KEY -# trigger: -# branch: -# - master -# - prod -# - qa -# - feature/* -# event: -# - push -# - pull_request -# --- -# kind: pipeline -# type: exec -# name: staging-deploy - -# platform: -# os: linux -# arch: amd64 - -# steps: -# - name: ansible-deploy -# commands: -# - ansible --version -# - ansible-galaxy install --force --role-file ansible/requirements.yml -vvvv -# - ansible-playbook --inventory ansible/inventory.yml --list-hosts ansible/playbook.staging.yml -# trigger: -# branch: -# - master -# - prod -# - qa -# - feature/* -# event: -# - push -# - pull_request + - dev-${DRONE_COMMIT_SHA:0:10} +- name: Build and Push (Production) Container Image + image: plugins/docker + when: + branch: + - main + settings: + username: + from_secret: DOCKER_USERNAME + password: + from_secret: DOCKER_PASSWORD + repo: gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio + registry: gitea.bsidesolutions.net + dockerfile: ./Dockerfile + force_tag: true + tags: + - latest + - release + - release-${DRONE_COMMIT_SHA:0:10} +trigger: + branch: + - main + - develop + - feature/* + event: + include: + - push volumes: - name: docker_sock diff --git a/.gitea/workflows/llm_pipeline_actions.yaml b/.gitea/workflows/llm_pipeline_actions.yaml new file mode 100644 index 0000000..79a02e7 --- /dev/null +++ b/.gitea/workflows/llm_pipeline_actions.yaml @@ -0,0 +1,47 @@ +name: 'Ollama Review' + +on: + pull_request: + types: [opened, synchronize] # PR open시 자동 코드 리뷰 요청 + +jobs: + review-code-with-llm: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Get changed files + id: changed-files + uses: tj-actions/changed-files@v43 + + - name: Setup Gitea CLI + run: | + LATEST_VERSION=$(curl -s https://dl.gitea.com/tea/ | \ + grep -oP '(?<=href="/tea/)[^/"]*' | \ + grep -E '^[0-9]+(\.[0-9]+){1,2}$' | \ + sort -V | \ + tail -n 1) + + + curl -L https://dl.gitea.com/tea/${LATEST_VERSION}/tea-${LATEST_VERSION}-linux-amd64 -o /usr/local/bin/tea + chmod +x /usr/local/bin/tea + tea --version + tea --version + + tea login add --name gitea --url ${{ gitea.server_url }} --token ${{ secrets.token }} + tea login default gitea + + + - name: Review code + env: + GITEA_TOKEN: ${{ secrets.token }} + run: | + for file in ${{ steps.changed-files.outputs.all_changed_files }}; do + review=$(curl -s https://ollama.bsidesolutions.net/api/generate -d '{"model": "${{ inputs.model }}", "prompt": "Review the following file:\n\n```\n$(cat $file)\n```", "stream": false}' | jq -r '.response') + comment="Ollama Code Review for \`$file\`:\n\n$review" + echo "$comment" >> ollama_review.txt + done + + tea pr comment ${{ gitea.event.pull_request.number }} --body "$(cat ollama_review.txt)" + shell: bash \ No newline at end of file diff --git a/.gitea/workflows/manual_deploy_to_coolify.yaml b/.gitea/workflows/manual_deploy_to_coolify.yaml index 0bc78d6..1055faa 100644 --- a/.gitea/workflows/manual_deploy_to_coolify.yaml +++ b/.gitea/workflows/manual_deploy_to_coolify.yaml @@ -24,10 +24,6 @@ jobs: - name: Checkout Code uses: actions/checkout@v4 - # - name: Login to Gitea - # run: | - # echo "${{ secrets.TOKEN }}" | docker login ${{ gitea.server_url }} --username ${{ gitea.actor }} --password-stdin - - name: Deploy to Coolify uses: carlozanella/deploy-coolify@v1 with: diff --git a/components/form/GoogleAppointmentBlock.tsx b/components/form/GoogleAppointmentBlock.tsx new file mode 100644 index 0000000..f906b08 --- /dev/null +++ b/components/form/GoogleAppointmentBlock.tsx @@ -0,0 +1,16 @@ +const GoogleAppointmentBlock = () => { + const {GOOGLE_APPOINTMENTS_LINK} = process.env; + console.log(GOOGLE_APPOINTMENTS_LINK) + return ( +
+ +
+ ); +} + +export default GoogleAppointmentBlock; \ No newline at end of file diff --git a/pages/index.tsx b/pages/index.tsx index dbbf667..d764353 100755 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -8,6 +8,7 @@ import navigationContent from '../lib/navigationContent' import ContactForm from '@/components/form/ContactForm'; import Footer from '@/components/footer'; import Link from 'next/link'; +import GoogleAppointmentBlock from '@/components/form/GoogleAppointmentBlock'; const inter = Inter({ subsets: ['latin'] }) export default function Home() { @@ -119,6 +120,7 @@ export default function Home() {
+ {/* */}
{ executeScrollToLandiing();