Questions How to copy files from GitHub shared runner to AWS LightSail Instance without changing permission in the target folder?

DevOps_Boy

Active member
  • Jul 28, 2023
    238
    120
    43
    මචන් මම pipeline එකක් ලිව්වා github action වලින්. nodejs application එකක් build වෙලා AWS LightSail වල තියන instance එකකට deploy වෙන්න. pipeline එක න්ම් හොදට වැඩ කරනවා. හැබැයි aws instance එකට deploy වෙද්දි නෙට්වර්ක් එකෙක් Any rule එකක් දෙන්න වෙනවා. මොකද 22 port eka allow කරලා තියෙන්නේ office IP එකට විතරයි. github එකේ shared runners වල ඔක්කොම allow කරන්න බෑ මොකද එතන IP බරගානක් තියෙනවා.. අනිත් එක මම ඒක deploy කරන්න්නේ /usr/local/tomcat/webapp folder එකට. එතකොට මට එකට second user ගෙන් full permission දෙන්න වෙනවා (chown -R centos /usr/local/tomcat/webapp, chmod -R 777 /usr/local/tomcat/webapp).මේක security පැත්තෙන් ගත්තම ලොකු අවුලක්. මේකට කරන්න දෙයක් දන්නවද?


    YAML:
    - name: Deploy to the server.
      uses: easingthemes/ssh-deploy@main
      with:
         SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
         SOURCE: "build/*"
         REMOTE_HOST: "18.50.94.205"
         REMOTE_USER: "centos"
         TARGET: "/var/www/test_domain/public_html"
     

    jdchathuranga

    Well-known member
  • May 4, 2009
    568
    1,348
    93
    37
    Colombo
    උඹට මෙතන ප්‍රශ්න දෙකක් තියනවා නේද
    1 - github ip සෙට් එක උඹලගෙ නෙට්වර්ක් එකට allow කරන එක.
    මේකට ගොඩක්ම සරල විසඳුමක් නැහැ. මේකට මෙහෙම කරන්න පුලුවන් ඔය ඩිප්ලෝයිමන්ට් එක තියන සර්වර් එකට වෙනම ssh කී එකක් යූස් කරන්න පුලුවන්. ඒක වෙන කිසිම සර්වර් එකකට දාන්න එපා. එතකොට compromise උනත් ඒ සර්වර් එක විතරයිනේ. ඕක 22 දාන්න එපා. සර්වර් එක කන්ෆිගර් කරන්න ssh port එක arbitary value එකකට. 1945 වගේ එකකට. ip වෙන වෙනම whitelist කරන්න ඕන නැහැනේ රේන්ජ් එක බලලා රේන්ජ් එකම whitelist කරන්න. WAF එකක් වගේ තියේ නං ඒ ip වලින් උඹලට අර පෝට් එක විතරක්ම whitelist කරන්න පුලුවන්ද බලන්න. මෙතනින් ip සෙට් එක බලාගන්න පුලුවන් නේ api.github.com/meta
    intermediate bastian server එකක් වගේ යූස් කරලා වගේ පට්ට ඇඩ්වාන්ස් විදියට කරන්න පුලුවන් වෙයි
    එහෙම නැත්තං උඹලගෙ පැත්තෙ වෙනම CI සරවර් එකක් තියනවා, github එකෙන් ඒ සර්වර් එකට නිකන් event එකක් විතරක් ට්‍රිගර් කරලා අර CI සර්වර් එකෙන් ඇත්ත ඩිප්ලෝයිමන්ට් එක කරවනවා.

    2 - වෙන යූසර් කෙනෙක් නැතිව ඩිප්ලෝයිමන්ට් ඩිරෙක්ටරියෙ පර්මිශන් මාරු කරන එක
    පර්මිශන් issue එකට මෙහෙම කරොත් මොකද, ඔය ඩිප්ලෝයි කරන යූසර්ට ඩිප්ලෝයිමන්ට් ඩිරෙක්ටරියෙ විතරක් ownership එක දීලා තිබුනොත්, පස්සෙ ඩිප්ලෝයි කරන ඕන වෙලාවක පර්මිශන් ඒ යූසර්ගෙන්ම වෙනස් කරගන්න පුලුවන් නේද.
    අනික් එක 777 දෙන්න එපා යකෝ ඒකට ඕන minimum පර්මිශන් දෙන්න. 644 වගේ ඇතිවෙයි මම හිතන්නෙ.
    නැත්තං කොහේ හරි ඒ යූසර්ගෙ හෝම් එකේ තැනකට ෆයිල් ටික කොපි කරලා tomcat deployment පාත් එකට symlink එකක් දැම්මොතින් මොකද. යූසර්ගෙ හෝම් එකේ නිසා ඕන විදියට පර්මිශන් ඒ යූසර්ගෙන්ම හදාගන්න පුලුවන් වෙයි. symlink එක්ක tomcat හරියට වැඩද කියලා ට්‍රයි කරලා නං නැත


    Note : මං github pipline වත් tomcat වත් expert කෙනෙක් නෙමයි. හොඳයි කියලා හිතුනු උත්තර දෙකක් දැම්මෙ.
     
    • Love
    Reactions: DevOps_Boy

    DevOps_Boy

    Active member
  • Jul 28, 2023
    238
    120
    43
    ඉතින් ඩිප්ලොයිම්නට් එකේ අන්තිමට පමිශන් ආයේ වෙනස් කරන්න ඔටෝමේශන් එකෙන්
    මම යූස් කරන්නේ github shared runner එකක්. එකෙ ඇක්ශන් එකක් ලියලා try kara permission change කරන්න. ඒත් හරි ගියේ නෑ. එකයි අවුල
     

    Don GasCan

    Well-known member
  • Nov 3, 2010
    42,633
    48,905
    113
    සේදවත්ත
    මම යූස් කරන්නේ github shared runner එකක්. එකෙ ඇක්ශන් එකක් ලියලා try kara permission change කරන්න. ඒත් හරි ගියේ නෑ. එකයි අවුල
    පයිප් ලයින් ලියන්නෙ මොකෙන්ද?